register_sidebar()
サイドバーを登録する
2025/09/25
register_sidebar は、WordPressでウィジェットを設置できるエリアを登録するためのテンプレートタグです。主にサイドバーやフッター、ヘッダー下などに利用され、テーマ内で柔軟にウィジェットを配置できます。
引数でID・名前・説明・HTML構造を指定でき、複数のウィジェットエリアを定義することもできます。
構文と返り値
PHP
register_sidebar( $args )【返り値】サイドバーのID ($wp_registered_sidebars がグローバルに追加)
パラメーター
$argsattay | string任意- 登録するサイドバーの引数の配列、もしくは文字列
【$args パラメーターの引数】
namestring- サイドバーの名前、またはタイトル。
【初期値】サイドバー $instance(例:サイドバー 1) idstring- サイドバーの識別子
【初期値】sidebar-$instance(例:sidebar-1) descriptionstring- サイドバーの説明
【初期値】空の文字列 classstring- 追加のCSSスタイル
before_widgetstring- 各ウィジェットのHTML出力の先頭に追加するHTMLタグ。ウィジェットのID属性は
%1$s、クラス名は%2$s
【初期値】 リストの開始タグ<li> after_widgetstring- 各ウィジェットのHTML出力の末尾に追加するタグ。
【初期値】リストの終了タグ</li> before_titlestring- サイドバーの表示時にタイトルの先頭に追加するHTMLコンテンツ。
【初期値】<h2> after_titlestring- サイドバーの表示時にタイトルの末尾に追加するHTMLコンテンツ。
【初期値】</h2> before_sidebarstring- サイドバーの表示時に先頭に追加するHTMLコンテンツ。
dynamic_sidebar_beforeアクションの前に出力。
【初期値】空の文字列 after_sidebarstring- サイドバーの表示時に後ろに追加するHTMLコンテンツ。
dynamic_sidebar_afterアクションの前に出力。
【初期値】空の文字列 show_in_restbool- REST API で公開するかどうか。
【初期値】管理者ユーザーのみに表示
詳細・使用例
以下のコードでウィジェットが有効になります。記述場所は functions.php。
PHP
<?php register_sidebar(); ?>register_sidebar は単体ではウィジェットエリアを「登録」するだけで、実際にサイトに表示するには dynamic_sidebar を使用します。
PHP
<?php register_sidebar(); ?>
<?php dynamic_sidebar(); ?>【デフォルトのID・名前・説明・HTML構造を変更】
PHP
<?php
// サイドバーを登録
function mytheme_register_sidebars() {
register_sidebar(array(
'name' => 'メインサイドバー',
'id' => 'main_sidebar',
'description' => '投稿・固定ページに表示されるサイドバーです。',
'before_widget' => '<div class="widget">', // ウィジェットを囲む開始タグ
'after_widget' => '</div>', // ウィジェットを囲む終了タグ
'before_title' => '<h3 class="widget-title">', // タイトル開始タグ
'after_title' => '</h3>', // タイトル終了タグ
));
}
add_action( 'widgets_init', 'mytheme_register_sidebars' );