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 をカスタマイズするフック […]