- 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細)
関数リファレンス/register sidebar
提供: WordPress Codex 日本語版
< 関数リファレンス
2016年2月11日 (木) 23:20時点におけるGblsm (トーク | 投稿記録)による版 (en:Function Reference/register_sidebar 16:01, 30 June 2015 Ryanshoover 版を反映。)
サイドバーをひとつ定義して ID を返します。'widgets_init' アクションで呼び出してください。
使い方
<?php register_sidebar( $args ); ?>
デフォルトの使い方
<?php $args = array( 'name' => __( 'Sidebar name', 'theme_text_domain' ), 'id' => 'unique-sidebar-id', 'description' => '', 'class' => '', 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>' ); ?>
パラメータ
- args
- (文字列/配列) (オプション) 'name' と 'id' の値からサイドバーを作成。
- 初期値: なし
- name - サイドバーの名前(デフォルトは 'Sidebar' を翻訳した文字列と ID の数字)。
- id - サイドバーの ID - すべて小文字の半角英数字で空白を除く(デフォルトは自動的にカウントアップする数値の ID)。
id
引数をセットしなければ、バージョン 4.2 以降はデバッグモードならE_USER_NOTICE
メッセージが出力される。 - description - サイドバーの説明テキスト。ウィジェット管理画面に表示される。(バージョン2.9以降)(デフォルト:空文字列)
- class - 管理画面の 外観 > ウィジェットでサイドバーに割り当てられる CSS クラス。このクラスは WordPress のウィジェット管理画面のソースコードのみに出力されます。Web サイトのフロントエンドには出力されません。参考: 指定したクラス値の前に
"sidebar"
が付きます。例えば"tal"
を指定すると"sidebar-tal"
が出力されます。(デフォルト:空文字列) - before_widget - ウィジェットの直前に出力する HTML テキスト(デフォルト:
<li id="%1$s" class="widget %2$s">
)。参考: sprintf で変数を置換。 - after_widget - ウィジェットの直後に出力する HTML テキスト(デフォルト:
</li>\n
)。 - before_title - タイトルの直前に出力する HTML テキスト(デフォルト:
<h2 class="widgettitle">
)。 - after_title - タイトルの直後に出力する HTML テキスト(デフォルト:
</h2>\n
)。
オプションの $args
パラメータは連想配列で、有効なウィジェットのコールバック関数へ第1パラメータとして渡されます。(配列ではなく文字列が与えられると、parse_str() によって連想配列を生成してから渡されます。)この引数はふつう、ウィジェットとタイトルを囲むテーマ固有の HTML タグを与えるために使います。
参考
- WordPress 3.4.1 以降、いくつか避けるべき ID があります。ここを見てください。こうした ID を収集するプラグインを作ってリストにしてくれた "toscho" に感謝します。
- サイドバーに一意の名前("Right Sidebar" や "Left Sidebar")を与えたり異なるマークアップが必要だったりするときは、register_sidebars() で一度に作るのではなくこの関数を使うとよいでしょう。名前は管理画面でのみ表示されますが、各サイドバーにはっきりと名前をつければ、どのサイドバーがどこに表示されるか管理者へヒントを与えることができます。参考: この名前はサイドバーの内容を保存するインデックスとしても使用されるので、サイドバーの内容は同じ名前を使用する別テーマを選択した時に再利用および上書きされます。
- before/after のデフォルト値は、リストを h2 タイトルでマークアップしてサイドバーを生成するテーマを想定しています。これはすべてのテーマに推奨される規約で、このように設計されたテーマなら before/after タグを気にすることなくサイドバーを登録できます。もし何らかの理由でこのようにマークアップしない場合は、サイドバーを登録するときにこれらのタグを指定する必要があります。そのとき id と class 属性はそのままコピーすることを推奨します。そうすれば内部の sprintf 呼び出しが機能して、CSS スタイルが個々のウィジェットに適用されます。
用例
名前が "Main Sidebar" でタイトルの前後に <h2> と </h2> がついたサイドバーを生成します:
add_action( 'widgets_init', 'theme_slug_widgets_init' ); function theme_slug_widgets_init() { register_sidebar( array( 'name' => __( 'Main Sidebar', 'theme-slug' ), 'id' => 'sidebar-1', 'description' => __( 'Widgets in this area will be shown on all posts and pages.', 'theme-slug' ), 'before_widget' => '<li id="%1$s" class="widget %2$s">', 'after_widget' => '</li>', 'before_title' => '<h2 class="widgettitle">', 'after_title' => '</h2>', ) ); }
変更履歴
ソースファイル
register_sidebar() は、wp-includes/widgets.php
にあります。
外部リソース
関連項目
サイドバー:
is_active_sidebar(),
is_dynamic_sidebar(),
dynamic_sidebar(),
register_sidebars(),
register_sidebar(),
unregister_sidebar(),
wp_register_sidebar_widget() / en,
wp_unregister_sidebar_widget() / en,
wp_get_sidebars_widgets() / en,
wp_set_sidebars_widgets() / en,
関数リファレンス、テンプレートタグ目次もご覧ください。
最新英語版: WordPress Codex » Function Reference/register_sidebar (最新版との差分)