register_sidebar() の使い方|説明・引数・注意点

説明

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

コメント

タイトルとURLをコピーしました