• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/dynamic sidebar

提供: WordPress Codex 日本語版
移動先: 案内検索

説明

この関数はアクティブなウィジェットコールバック関数を順に呼び出し、サイドバーに表示します。複数のサイドバーがある場合、表示するサイドバーの番号または名前を知らせる必要があります。この関数が正しく実行されると true を返し、失敗すると false を返します。

静的なサイドバーを表示するかどうかを決定するのに、返り値を使用すべきです。こうすることで、ウィジェットプラグインがアクティブでない場合にも、テーマがきちんと表示されるようにできます。

サイドバーを番号で登録している場合、番号で呼び出します。名前で登録している場合は、名前で呼び出します。

使い方

<?php dynamic_sidebar( $number ); ?>

パラメータ

$number
整数/文字列) (オプション) サイドバーの名前または ID。
初期値: 1

返り値

(真偽値) 
サイドバーの中にウィジェットが登録されているときは true を返し、ウィジェットが登録されていないか、サイドバーが見つからないときは false を返します。

用例

致命的なエラーを防ぐために、以下のように使用することをお勧めします。

<?php if ( is_active_sidebar( 'left-sidebar' ) ) : ?>
	<ul id="sidebar">
		<?php dynamic_sidebar( 'left-sidebar' ); ?>
	</ul>
<?php endif; ?>
<ul id="sidebar">
	<?php dynamic_sidebar( 'right-sidebar' ); ?>
</ul>
<ul id="sidebar">
<?php if ( ! dynamic_sidebar() ) : ?>
	<li>{静的サイドバー項目 No.1}</li>
	<li>{静的サイドバー項目 No.2}</li>
<?php endif; ?>
</ul>

「Twenty Ten」テーマ内(WordPress 3.0 以降)


複数のサイドバー

名前($number を文字列で指定した場合)、または ID(整数値で指定、または省略した場合)のいずれかで特定のサイドバーをロードすることができます。例として、register_sidebar( array( 'name' => 'top_menu' ) ) という定義でサイドバーを登録してある場合、dynamic_sidebar( 'top_menu' ) という記述で呼び出すことができます。

ID を使って呼び出す場合( dynamic_sidebar( 1 ) )、サイドバーに名前をつけておく必要はありませんが、どのサイドバーを呼び出しているのか把握しにくくなります。その場合、functions.php ファイルやウィジェット管理画面を見なければなりません。ID は 1 から始まることに注意してください。

register_sidebar() WordPress 関数を呼び出すときに ID として文字列を使うと、コードの可読性を高められます。ID は英小文字と数字とし、空白を含んではいけません。他に -(ハイフン)と _(アンダースコア)も使えます。ID はユニークにするとともに、サイドバーの名前と同じではいけません。固有の ID を使えばサイドバーの名前が翻訳可能になります。

// $text_domain の有効な値は __() WordPress 関数を見てください。
register_sidebar( array(
    'id'          => 'top-menu',
    'name'        => __( 'Top Menu', $text_domain ),
    'description' => __( 'This sidebar is located above the age logo.', $text_domain ),
) );

これで読みやすい ID を使って dynamic_sidebar( 'top-menu' ) という呼び出し方が可能になります。

変更履歴

新規導入: 2.2.0

ソースファイル

dynamic_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,



ウィジェット API: is_active_widget(), the_widget(), register_widget(), unregister_widget() / en, wp_register_widget_control() / en, wp_unregister_widget_control() / en, wp_convert_widget_settings() / en, wp_get_widget_defaults() / en, wp_widget_description() / en



関数リファレンステンプレートタグ目次もご覧ください。

最新英語版: WordPress Codex » Function Reference/dynamic_sidebar最新版との差分