WEB制作のための情報サイト / unazuki Library

register_sidebar()

基本構文と使い方(引数・実行結果)

基本構文

ウィジェットを配置するためのエリアを登録します。

register_sidebar($args);

引数

引数必須/任意引数に指定するもの
第1引数
$args
任意登録されるウィジェットに関する情報を文字列あるいはその配列で指定。

主なパラメーターは下記の通りです。
name 管理画面に表示するウィジェットの名前(文字列)
id ウィジェットID(文字列)、ウィジェットを呼び出すときに必要
description ウィジェットの説明文(文字列)
before_sidebar サイドバー(ウィジェット全体)の前に追加するHTML
after_sidebar サイドバー(ウィジェット全体)の後に追加するHTML
before_widget ウィジェット(個別のパーツ)の前に追加するHTML
after_widget ウィジェット(個別のパーツ)の後に追加するHTML

各パラメーターの詳細はこちら(英文)
https://developer.wordpress.org/reference/functions/register_sidebar/

初期値[](空の配列)

実行結果

ウィジェットを配置するためのエリアを登録します。

管理画面の「外観」→「ウィジェット」から登録したエリアにウィジェットを登録できます。

例1.ウィジェットエリアの登録

function my_theme_register_sidebar() {
	register_sidebar([
		'name'           => 'メインサイドバー',
		'id'             => 'sidebar-main',
		'description'    => '記事ページ右側に表示されるメインサイドバーです。',
		'before_sidebar' => '<aside id="sidebar-main" class="sidebar-wrapper">',
		'after_sidebar'  => '</aside>',
		'before_widget'  => '<div id="%1$s" class="widge %2$s">',
		'after_widget'   => '</div>',
	]);
}
add_action('widgets_init', 'my_theme_register_sidebar');

8行目のbefore_widgetにおいて、%1$s はidを、%2$sはclassを自動生成します。

このコードのウィジェットをテンプレートファイルで呼び出すためには、dynamic_sidebar()を使います。

学習者向け補足情報

【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。

【引数について】

  • 指定できる引数の数はテンプレートタグによって異なります。(引数なしもあり)
  • 引数ごとに必須 / 任意が決まっています。(必須は必ず指定、任意は指定しなければ初期値)
  • 引数名(例:$post)は仕様の便宜上の名前と考えてください。(この名前自体はテンプレートタグ実行に関係しません。各引数に何を指定するのかを理解していればOKです。)

※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。

関連するテンプレートタグ

テンプレートタグ 説明
dynamic_sidebar() サイドバー(ウィジェットを配置するエリア)を表示する。
register_taxonomy() カスタムタクソノミーを追加する。
register_post_type() カスタム投稿タイプを登録する。
wp_enqueue_script() スクリプトを登録し、読み込み対象としてキューに追加します。
wp_enqueue_style() スタイルシートを登録し、読み込み対象としてキューに追加します。
add_editor_style() 編集画面でエディタ用のスタイルシートを読み込む。
add_theme_support() 指定した機能をテーマに追加する。