2012-04-02 13 views
3

私はwordpress.stackexchange.comでこの質問をしましたが、返事はありませんでした。ワードプレス - プログラムでウィジェットを追加する

ウィジェットをプログラムで追加したいと思います。私はcodex docsから次のコードを試してみました:

class MyNewWidget extends WP_Widget { 

    function MyNewWidget() { 
     // Instantiate the parent object 
     parent::__construct(false, 'My New Widget Title'); 
    } 

    function widget($args, $instance) { 
     // Widget output 
    } 

    function update($new_instance, $old_instance) { 
     // Save widget options 
    } 

    function form($instance) { 
     // Output admin widget options form 
    } 
} 

function myplugin_register_widgets() { 
    register_widget('MyNewWidget'); 
} 

add_action('widgets_init', 'myplugin_register_widgets'); 

をしかし、動作するようには思えません。私はさらに質問Programmatically add widgets to sidebarsのコードを試したが役に立たなかった。私が何かを逃しているかどうか教えてください。

ありがとうございました

答えて

3

あなたはコンストラクタが間違っていると思います。次のことを試してみてください。

<?php 

add_action('widgets_init', create_function('', 'return register_widget("MyNewWidget");')); 

class MyNewWidget extends WP_Widget { 
    function __construct() { 
     $widget_ops = array('classname' => 'MyNewWidget', 'description' => __('Widget description')); 
     parent::__construct('MyNewWidget', __('Widget Name'), $widget_ops); 
    } 

    function widget($args, $instance) { 
     extract($args); 
     echo $before_widget; 

     echo $before_title . __('Widget title') . $after_title; 

     // widget logic/output 

     echo $after_widget; 
    } 

    function update($new_instance, $old_instance) { 
     // Save widget options 
    } 

    function form($instance) { 
     // Output admin widget options form 
    } 
} 

?> 

また、あなたはこのことプラグインを作り、プラグインの下で管理パネルでそれを活性化するための説明と、すべてを持っていることを確認してください。

+0

Jazaakallah Sadiq、あなたは右だった.. –

関連する問題