WordPress Widget をカスタマイズするフックの一覧です。WordPress 3.3.1を検索しています。
まず、wp-includes/default-widgets.php です。下記のフィルターフックが用意されています。(widget_title は各ウィジェットにあるので省略しています)
$out = wp_list_pages( apply_filters('widget_pages_args', array('title_li' => '', 'echo' => 0, 'sort_column' => $sortby, 'exclude' => $exclude) ) );
wp_list_bookmarks(apply_filters('widget_links_args', array(
<select name="archive-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <option value=""><?php echo esc_attr(__('Select Month')); ?></option> <?php wp_get_archives(apply_filters('widget_archives_dropdown_args', array('type' => 'monthly', 'format' => 'option', 'show_post_count' => $c))); ?> </select>
<?php wp_get_archives(apply_filters('widget_archives_args', array('type' => 'monthly', 'show_post_count' => $c))); ?>
$text = apply_filters( 'widget_text', empty( $instance['text'] ) ? '' : $instance['text'], $instance );
wp_dropdown_categories(apply_filters('widget_categories_dropdown_args', $cat_args));
wp_list_categories(apply_filters('widget_categories_args', $cat_args));
|| ! apply_filters( 'show_recent_comments_widget_style', true, $this->id_base ) )
wp_tag_cloud( apply_filters('widget_tag_cloud_args', array('taxonomy' => $current_taxonomy) ) );
例えば、タグクラウドの表示数を変更する場合は、下記のようになります。
add_filter('widget_tag_cloud_args', 'my_tag_cloud');
function my_tag_cloud($array) {
$arg = array('number' => 20);
$output = array_merge($array,$arg);
return $output;
}
アーカイブを年単位にする例です。
function my_archive($args) {
$args['type'] = 'yearly';
return $args;
}
add_filter('widget_archives_args','my_archive');
このように、ウィジェットの設定を functions.php で制御することができます。
[…] WordPress Widget をカスタマイズするフック […]