http://www.koikikukan.com/archives/2010/12/10-025555.php
とりあえず
要点は
class WP_Widget_xxx extends WP_Widget { function WP_Widget_xxx() {//初期化 名前、説明等 $widget_ops = array( 'classname' => 'DispTopPost', 'description' => '説明' ); $this->WP_Widget('DispTopPost', '説明文', $widget_ops); //親メソッドを使う } function form( $instance ) {フォーム出力} //管理画面でのフォーム //id , nameは $this->get_field_id('title'),$this->get_field_name('title')で得る //既定値は$instanceから引っ張る function update( $new_instance, $old_instance ) {//設定処理・素直に$new_instanceを戻せば良い return $new_instance; } function widget( $args, $instance ) {処理 }//実際の出力部分 //$argsにはdescriptionやidなどの基本的な情報が入って来る //$instanceには固有のフォームで設定した固有のパラメータが入って来る } add_action('widgets_init', create_function('', 'return register_widget("WP_Widget_xxx");'));
本当にこれだけ!
ウイジェットの配置そのものは
http://www.koikikukan.com/archives/2010/12/08-015555.php
※ちなみに基本形のマークアップはregister_sidebarで設定する。ウイジェット内に記述してしまっても良いが、汎用性がなくなってしまう(他のテーマで使えなくなる)
コメント