2011-11-09 12 views
0

私はワードプレスを初めて使っています。私は独自のカスタムウィジェットを作成し、サイドメニューにコンテンツを表示したいと考えています。しかし、wordpressのcontrol pannelに表示されていても、wordpressはそのウィジェットを表示していません。プライマリウィジェットエリアにCustomWidgetを追加しました。Wordpress - カスタムウィジェットを表示するには

編集:「ウィジェット」機能が呼び出されないことに気付きました。これは、レンダリングを行うものと思われるためです。

class CustomWidget extends WP_Widget{ 
    function CustomWidget(){ 
     $widget_ops = array('classname' => 'custom_widget', 'description' => __("Custom Widget")); 
     $control_ops = array('width' => 250, 'height' => 400, 'id_base' => 'custom-widget'); 
     $this->WP_Widget('CustomWidget', 'Custom Widget', $widget_ops, $control_ops); 
    } 

    function widget($args, $instance){ 
     extract($args); 
     $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title']); 
     $menu_order = $instance['menu_order']; 
     $show_siblings = $instance['show_siblings']; 
     $exclude = $instance['exclude']; 
     echo $before_widget; 
     echo $before_title; 
     echo 'Title!!!'; 
     echo $after_title; 
     echo 'Content!!!'; 
     echo $after_widget; 
    } 
} 

function CustomWidget_init(){ 
    register_widget('CustomWidget'); 
} 
add_action("widgets_init", "CustomWidget_init"); 

答えて

0

残念ながら動作しませんでしたあなたのコードの末尾

add_action('TB_RenderWidget', array('CustomWidget', 'render'),10,12); 
+0

でこれを追加します。 CustomWidgetのコンストラクタがヒットしていますが、何らかの理由でレンダリング関数ではありません。 – Bill

+0

私は何かを忘れました。このような関数を 'code'関数に含める必要があります。render($ before_widget、$ after_widget、$ title){ echo $ before_widget; if(!empty($ title)){ echo $ before_title。 $タイトル。 $ after_title; }; //ここであなたは何を使っていますか? echo $ after_widget; } 'code' –

関連する問題