ウィジェットを自作する

wordpress3.5でウィジェットを自作する方法を紹介します。

いくつかウィジェットがありますが、既存のものではなく、「こういうのあったらいいな」というのを形にできたらすごく良いと思います。

修正ファイル:wp-includes/default-widgets.php

基本形

class My_Widget_2ch extends WP_Widget {

//constructer・・・読み込み時に最初に実行する。
function My_Widget_2ch() {
parent::WP_Widget(false, $name = ‘2ch’);
}

//view・・・表示するための情報をDBなどから取得したり、加工したり。
function widget($args, $instance) {

global $wpdb;//DB接続

}

//update・・・ウィジェットの設定ページで、タイトルなどを入力した結果を受け取る。
function update($new_instance, $old_instance) {

$instance = $old_instance;
$instance[‘title’] = strip_tags($new_instance[‘title’]);
$instance[‘body’] = trim($new_instance[‘body’]);
return $instance;

}

//form・・・ウィジェットの設定ページで、表示するタイトルなどの入力画面。
function form($instance) {

$title = esc_attr($instance[‘title’]);
$body = esc_attr($instance[‘body’]);
?>
<p>
<label for=”<?php echo $this->get_field_id(‘title’); ?>”>
<?php _e(‘サイトに表示されるコンテンツ:’); ?>
</label>
<input class=”widefat” id=”<?php echo $this->get_field_id(‘title’); ?>” name=”<?php echo $this->get_field_name(‘title’); ?>” type=”text” value=”<?php echo $title; ?>” />
</p>

<p>
<label for=”<?php echo $this->get_field_id(‘body’); ?>”>
<?php _e(‘サイトに表示されるコンテンツ:’); ?>
</label>
<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>
</p>
<?php
}

}

//ウィジェットを有効化する。

add_action(‘widgets_init’, create_function(”, ‘return register_widget(“My_Widget_2ch”);’));

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です