説明
register_sidebar() は、ウィジェットエリア(サイドバー)を登録する関数です。
基本構文
register_sidebar( array|string $args = array() ): string
引数
$args:name、id、before_widget、after_widget、before_title、after_titleなど
戻り値
登録したサイドバーのID。
使い方(サンプル)
add_action( 'widgets_init', function() {
register_sidebar( array(
'name' => 'サイドバー',
'id' => 'main-sidebar',
) );
} );
注意点
widgets_initフックで呼びます。idは他と重複しないようにします。
実務での使いどころ
- サイドバーや、フッターなど、ウィジェットを置ける領域を、テーマに登録するとき。
よくあるミスと対処
widgets_initフックの外で呼んでいる。idを、指定していない、または他のサイドバーと重なる。idは、一意にする。before_widget・after_widgetなどを、指定していない。ウィジェットの、HTMLの構造が、意図しない形になる。
NG例
register_sidebar( array( 'name' => 'サイドバー' ) ); // id がなく、フックの外で呼んでいる
OK例
add_action( 'widgets_init', function () {
register_sidebar( array(
'name' => 'メインサイドバー',
'id' => 'sidebar-main',
'before_widget' => '<section id="%1$s" class="widget %2$s">',
'after_widget' => '</section>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
) );
} );
使い分け早見表
| 関数 | 役割 |
|---|---|
register_sidebar() |
ウィジェット領域を、登録する |
dynamic_sidebar() |
ウィジェット領域を、出力する |
is_active_sidebar() |
ウィジェットが、置かれているかを確認する |
関連項目
dynamic_sidebar()、is_active_sidebar()、register_widget()
公式リファレンス:register_sidebar() | Function | WordPress Developer Resources

コメント