説明
widgets_init は、ウィジェットの初期化時に実行されるアクションです。ウィジェットエリアやウィジェットの登録に使います。
基本構文
do_action( 'widgets_init' )
引数
引数はありません。
戻り値
引数はありません。
使い方(サンプル)
add_action( 'widgets_init', function() {
register_sidebar( array( 'name' => 'サイドバー', 'id' => 'main' ) );
} );
注意点
register_sidebar()とregister_widget()を呼ぶタイミングです。
実務での使いどころ
- ウィジェット領域(サイドバー)や、独自のウィジェットを、登録するとき。
よくあるミスと対処
initなど、別のフックで登録している。ウィジェットの登録は、widgets_initで行う。register_sidebar()のidを、他と重ねている。
NG例
register_sidebar( array( 'name' => 'サイドバー' ) ); // id がなく、フックの外で呼んでいる
OK例
add_action( 'widgets_init', function () {
register_sidebar( array(
'name' => 'メインサイドバー',
'id' => 'sidebar-main',
) );
register_widget( 'My_Widget' );
} );
使い分け早見表
| 関数 | 役割 |
|---|---|
register_sidebar() |
ウィジェット領域を、登録する |
register_widget() |
ウィジェットを、登録する |
widgets_init |
これらを呼ぶ、フック |

コメント