WordPress でサイドバーウィジットに対応したプラグイン方法です。

管理画面にウィジェットを表示する

管理画面の「外観」>「ウィジェット」にウィジェットを表示する。

function widget_control() {
  echo "My Widget";
}
register_widget_control('Widget Name', 'widget_control');

以下のように表示されます。
スクリーンショット(2009-09-17 9-17木 9.26.27)

このウィジェットをサイドバーにドラッグ&ドロップすると以下のようになります。
スクリーンショット(2009-09-17 9-17木 9.26.59)

ウィジェットの表示

ブログのサイドバーを表示した際に出力する内容を設定する。

function widget_view() {
  echo "My Widget";
}
register_sidebar_widget('Widget Name', 'widget_view');

ウィジェットのオプションを設定する

サイドバーにドラッグ&ドロップした後に、ウィジェットのオプションを設定できるようにします。
widget_control 関数を下記のように変更します。値を設定できるような HTML タグを出力することと、POST された値を options に保存する処理を追加しています。

function widget_control() {
  if (isset($_POST['mywidget_value'])) {
    update_option('mywidget_option', $_POST['mywidget_value']);
  }
  $option = get_option('mywidget_option');
  echo "My Widget";
  echo "<input type='text' name='mywidget_value' value='".$option."' />";
}

これで以下のように表示されます。
スクリーンショット(2009-09-17 9-17木 9.50.17)

あとは widget_view関数の方で get_option() で設定した値を取得して表示に反映させたりします。

管理画面のウィジェットに説明を入れる

上記の例では、管理画面のウィジェット一覧でウィジェットの説明がウィジェット名と同じです。他のウィジェットと同様に説明を入れるには以下のようにします。

$options['description'] = 'My Widget Description';
wp_register_sidebar_widget('Widget Name', 'Widget Name', 'widget_control' ,$options);

$options['description'] に設定した文字列がウィジェット名の下に説明として表示されます。
スクリーンショット(2009-09-17 9-17木 9.42.07)

関連する投稿