当サイト、Codex 日本語版は今後積極的な更新は行わない予定です。後継となる新ユーザーマニュアルは、https://ja.wordpress.org/support/ にあります。
万が一、当サイトで重大な問題を発見した際などは、フォーラムWordSlack #docs チャンネルでお知らせください。</p>

「関数リファレンス/dynamic sidebar」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(言語間リンクの誤記訂正。)
 
(3人の利用者による、間の7版が非表示)
1行目: 1行目:
{{NeedTrans}}
 
 
== 説明 ==
 
== 説明 ==
  
この関数はアクティブなウィジェットコールバック関数を順に呼び出し、サイドバーに表示します。複数のサイドバーがある場合、表示するサイドバーの番号または名前を知らせる必要があります。この関数が正しく実行されると true を返し、失敗すると false を返します。
+
この関数はアクティブな[[WordPress ウィジェット|ウィジェット]]コールバック関数を順に呼び出し、[[サイドバー]]に表示します。複数のサイドバーがある場合、表示するサイドバーの番号または名前を知らせる必要があります。この関数が正しく実行されると true を返し、失敗すると false を返します。
  
 
静的なサイドバーを表示するかどうかを決定するのに、返り値を使用すべきです。こうすることで、ウィジェットプラグインがアクティブでない場合にも、テーマがきちんと表示されるようにできます。
 
静的なサイドバーを表示するかどうかを決定するのに、返り値を使用すべきです。こうすることで、ウィジェットプラグインがアクティブでない場合にも、テーマがきちんと表示されるようにできます。
10行目: 9行目:
 
== 使い方 ==
 
== 使い方 ==
  
<?php dynamic_sidebar( $number ); ?>
+
<?php dynamic_sidebar( $number ); ?>
  
== パラメーター==
+
== パラメータ ==
  
{{Parameter|$number|int/string|<tt>名称、またはサイドバーのID</tt>|optional|1}}
+
{{Parameter|$number|整数/文字列|サイドバーの名前または ID。|オプション|1}}
  
 
== 返り値 ==
 
== 返り値 ==
  
; (boolean) : True, if widget sidebar was found and called. False if not found or not called.
+
; (真偽値) : サイドバーの中にウィジェットが登録されているときは true を返し、ウィジェットが登録されていないか、サイドバーが見つからないときは false を返します。
  
==サンプル==
+
== 用例 ==
  
 
致命的なエラーを防ぐために、以下のように使用することをお勧めします。
 
致命的なエラーを防ぐために、以下のように使用することをお勧めします。
 +
 +
<pre>
 +
<?php if ( is_active_sidebar( 'left-sidebar' ) ) : ?>
 +
<ul id="sidebar">
 +
<?php dynamic_sidebar( 'left-sidebar' ); ?>
 +
</ul>
 +
<?php endif; ?>
 +
</pre>
 +
 +
<pre>
 +
<ul id="sidebar">
 +
<?php dynamic_sidebar( 'right-sidebar' ); ?>
 +
</ul>
 +
</pre>
  
 
<pre>
 
<pre>
 
<ul id="sidebar">
 
<ul id="sidebar">
<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar() ) : ?>
+
<?php if ( ! dynamic_sidebar() ) : ?>
<li>{static sidebar item 1}</li>
+
<li>{静的サイドバー項目 No.1}</li>
<li>{static sidebar item 2}</li>
+
<li>{静的サイドバー項目 No.2}</li>
 
<?php endif; ?>
 
<?php endif; ?>
 
</ul>
 
</ul>
 
</pre>
 
</pre>
  
==複数のサイドバー==
+
=== 「Twenty Ten」テーマ内(WordPress 3.0 以降) ===
  
You can load a specific sidebar by either their name (if given a string) or ID (if given an integer). For example, <tt>dynamic_sidebar('top_menu')</tt> will present a sidebar registered with <tt>register_sidebar(array('name'=>'top_menu',))</tt>.
+
* {{Trac|wp-content/themes/twentyten/sidebar.php}}
 +
* {{Trac|wp-content/themes/twentyten/sidebar-footer.php}}
  
Using ID's ( <tt>dynamic_sidebar(1)</tt> ) is easier in that you don't need to name your sidebar, but they are harder to figure out which is which without looking into your <tt>functions.php</tt> file or in the widgets administration panel and thus make your code less readable. Note that ID's begin at 1.
+
 
 +
== 複数のサイドバー ==
 +
 
 +
名前(<tt>$number</tt> を文字列で指定した場合)、または ID(整数値で指定、または省略した場合)のいずれかで特定のサイドバーをロードすることができます。例として、<code>register_sidebar( array( 'name' => 'top_menu' ) )</code> という定義でサイドバーを登録してある場合、<code>dynamic_sidebar( 'top_menu' )</code> という記述で呼び出すことができます。
 +
 
 +
ID を使って呼び出す場合( <code>dynamic_sidebar( 1 )</code> )、サイドバーに名前をつけておく必要はありませんが、どのサイドバーを呼び出しているのか把握しにくくなります。その場合、<tt>functions.php</tt> ファイルやウィジェット管理画面を見なければなりません。ID は 1 から始まることに注意してください。
 +
 
 +
<tt>register_sidebar()</tt> WordPress 関数を呼び出すときに ID として文字列を使うと、コードの可読性を高められます。ID は英小文字と数字とし、空白を含んではいけません。他に <tt>-</tt>(ハイフン)と <tt>_</tt>(アンダースコア)も使えます。ID はユニークにするとともに、サイドバーの名前と同じではいけません。固有の ID を使えばサイドバーの名前が翻訳可能になります。
 +
 
 +
<pre>// $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 ),
 +
) );
 +
</pre>
 +
 
 +
これで読みやすい ID を使って <tt>dynamic_sidebar( 'top-menu' )</tt> という呼び出し方が可能になります。
  
 
== 変更履歴 ==
 
== 変更履歴 ==
  
Since: 2.2.0
+
新規導入: [[Version 2.2|2.2.0]]
  
 
== ソースファイル ==
 
== ソースファイル ==
50行目: 81行目:
  
 
* [http://www.prelovac.com/vladimir/wordpress-theme-flexibility-with-dynamic-sidebars WordPress theme flexibility with dynamic sidebars]
 
* [http://www.prelovac.com/vladimir/wordpress-theme-flexibility-with-dynamic-sidebars WordPress theme flexibility with dynamic sidebars]
 +
* [http://wordpress.org/support/topic/the-meaning-of-spitting-out-widgets The meaning of "spitting out" widgets]
  
{{原文|Function Reference/dynamic_sidebar|78546}}<!-- 11:17, 28 September 2009 Ramiy 版 -->
+
== 関連資料 ==
 
+
== 関連 ==
+
  
 +
{{Sidebar Tags}}
 +
<br>
 
{{Widget Tags}}
 
{{Widget Tags}}
  
63行目: 95行目:
 
[[Category:wp2.2]]
 
[[Category:wp2.2]]
  
最新英語版 : [[en:Function Reference/dynamic_sidebar]]
+
{{原文|Function Reference/dynamic_sidebar|150438}} <!-- 10:45, 30 March 2015 Ramiy 版 -->
 +
 
 +
[[en:Function Reference/dynamic_sidebar]]
 +
[[ru:Справочник по функциям/dynamic_sidebar]]

2015年8月26日 (水) 23:55時点における最新版

説明

この関数はアクティブなウィジェットコールバック関数を順に呼び出し、サイドバーに表示します。複数のサイドバーがある場合、表示するサイドバーの番号または名前を知らせる必要があります。この関数が正しく実行されると 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最新版との差分