Amazonアソシエイトで広告をサイトにHTMLを貼り付ける必要があるのだが、Wordpressのsidebar.phpとかfooter.phpに直接タグを埋め込んでいたのだが、広告を変える手間があった。
ウィジェットを自作して、ウィジェット画面からタグを登録できるようにしました。以下を有効にしたテーマのfunction.phpに入れるとウィジェットの画面で使用可能になります。
class MyBannar1 extends WP_Widget { function MyWidgetItem() { parent::WP_Widget(false, $name = 'バナー1'); } function widget($args, $instance) { extract( $args ); $body = apply_filters( 'widget_body', $instance['body'] ); echo '<p>' . $body . '</p>'; } function form($instance) { $title = esc_attr($instance['title']); $body = esc_attr($instance['body']); ?> <textarea class="widefat" rows="16" colls="20" id="<?php echo $this->get_field_id('body'); ?>" name="<?php echo $this->get_field_name('body'); ?>"><?php echo $body; ?></textarea> <?php } } add_action('widgets_init', create_function('', 'return register_widget("MyBannar1");'));
サンプルを参照にしましたけど、あっさりできてしまいました。