2022年03月27日
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()で追加します。