そのための最善の方法は、新しいウィジェットを作成することです。とても簡単です。基本的な構造は次のようなものです。
class MyWidget extends WP_Widget{
function MyWidget() {
// Instantiate the parent object
parent::__construct( false, 'name', array('description'=>'the description', 'classname'=>'class-name') );
}
function widget( $args, $instance ) {
extract($args);
echo $before_widget;
echo '<h3>title</h3>';
//do some logic here
echo $after_widget;
}
function update( $new_instance, $old_instance ) {
// Save widget options
}
function form( $instance ) {
// Output admin widget options form
}
}
function my_init_widgets() {
register_widget('MyWidget');
}
add_action( 'widgets_init', 'my_nit_widgets' );
それで全部です。たぶん、カスタムサイドバーを定義する必要があります。たとえば、次のようになります。
//init sidebar
add_action( 'widgets_init', 'sidebars_init' );
function sidebars_init(){
register_sidebar(
array(
'id' => 'default-sidebar',
'name' => __( 'Default sidebar' ),
'description' => __( "Generic sidebar" ),
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h3 class="widget-title">',
'after_title' => '</h3>'
)
);
独自のウィジェットを定義する場合は、必要な JavaScript を追加できます。