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