2024年06月14日
Actionフック:widgets_init
アクションフックの widgets_init は、管理画面の「外観→ウィジェット」を実行する時にフックされます。
①サイドバーの設定
②ウィジェット部品の追加/削除
で利用されます。
1.利用サンプル
下記サンプルはこのサイトで使っているサイドバーとウィジェット部品です。
利用しないウィジェット部品は削除しています。
function set_widgets() {
register_sidebar( [ 'id' => 'post' ,'name' => '投稿ページ' ,'description' => 'id = =post'] );
register_sidebar( [ 'id' => 'category','name' => 'カテゴリページ' ,'description' => 'id = category'] );
register_sidebar( [ 'id' => 'archive' ,'name' => 'アーカイブページ' ,'description' => 'id = archive'] );
register_sidebar( [ 'id' => 'footer' ,'name' => 'フッタ用' ,'description' => 'id= footer']) ;
unregister_widget('WP_Widget_RSS');
unregister_widget('WP_Widget_Calendar');
unregister_widget('WP_Widget_Media_Gallery');
unregister_widget('WP_Widget_Tag_Cloud');
unregister_widget('WP_Widget_Meta');
unregister_widget('WP_Widget_Recent_Comments');
unregister_widget('WP_Widget_Search');
unregister_widget('WP_Widget_Media_Audio');
//register_widget('WP_Widget_Links');
}
add_action('widgets_init', 'set_widgets');
■アクションフック:widgets_init に参照変数はありません。
■2~5行目:register_sidebar()で管理画面の「外観→ウィジェット」で表示するサイドバーを定義しています。
■6~13行目:unregister_widget()で管理画面の「外観→ウィジェット」に表示されている不要なウェジット部品を削除しています。
■14行目:もし追加するウィジェッツ部品があった場合はregister_widget()で追加します。