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

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

「サイドバー」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(関数リファレンス)
(残りを和訳。)
 
1行目: 1行目:
{{NeedTrans}}
+
{{CheckTrans}}
  
'''サイドバー'''とは、[[Version 2.2|バージョン 2.2]] で導入された[[Theme Features|テーマ機能]]です。テーマによって提供される基本的には縦方向のカラムで、Web ページのメインコンテンツ以外の情報を表示します。通常、テーマにはコンテンツの右または左側に最低1つのサイドバーが含まれています。サイドバーには普通、サイトの管理者がカスタマイズできる[[Widgets API|ウィジェット]]が配置されます。
+
'''サイドバー'''とは [[Version 2.2|バージョン 2.2]] で導入された[[Theme Features|テーマ機能]]です。テーマによって提供される基本的には縦方向のカラムで、Web ページのメインコンテンツ以外の情報を表示します。テーマにはふつうコンテンツの右または左側に最低1つのサイドバーが含まれています。サイドバーにはふつうサイトの管理者がカスタマイズできる[[Widgets API|ウィジェット]]が配置されます。
  
 +
<div id="Function_Reference">
 
== 関数リファレンス ==
 
== 関数リファレンス ==
 +
</div>
  
 
{| cellspacing="10" width="100%"
 
{| cellspacing="10" width="100%"
34行目: 36行目:
 
__TOC__
 
__TOC__
  
 +
<div id="Define_Sidebars">
 
== サイドバーの定義 ==
 
== サイドバーの定義 ==
 +
</div>
  
下記の関数は、サイドバーの機能を[[Glossary#Theme|テーマ]].に加えるのに用いられます。
+
下記の関数はサイドバーの機能を[[Glossary#Theme|テーマ]]へ加えるのに用いられます。
  
 +
<div id="Register_Several_Sidebars">
 
=== 複数サイドバーの登録 ===
 
=== 複数サイドバーの登録 ===
 +
</div>
  
 
  [[関数リファレンス/register_sidebars|register_sidebars]]( $count, $args );
 
  [[関数リファレンス/register_sidebars|register_sidebars]]( $count, $args );
  
現在のテーマで使用する 1 つまたは複数のサイドバーを登録します。多くのテーマはサイドバーが 1 つだけです。 このため、 count のパラメータ値はオプションで、デフォルトは 1 つです。
+
現在のテーマで使用するひとつまたは複数のサイドバーを登録します。多くのテーマはサイドバーがひとつだけです。このため $count パラメータはオプションで、デフォルト値は 1 です。
  
The $args parameter will be passed to [[関数リファレンス/register_sidebar|register_sidebar()]] and follows its format, with the exception of the name, which is treated with [http://www.php.net/manual/en/function.sprintf.php sprintf()] to insert or append a unique number to each sidebar if count is plural.
+
$args パラメータは [[関数リファレンス/register_sidebar|register_sidebar()]] へ渡されます。値は register_sidebar() が定める形式に従いますが、名前だけは例外です。もし $count が複数なら [http://www.php.net/manual/en/function.sprintf.php sprintf()] を使ってサイドバー毎に数字を前か後につけます。
  
For example, the following line will create sidebars name "Foobar 1" and "Foobar 2":
+
例えば次のコードは名前が「Foobar 1」と「Foobar 2」のサイドバーを作ります:
  
 
  [[関数リファレンス/register_sidebars|register_sidebars]]( 2, array( 'name' => 'Foobar %d' ) );
 
  [[関数リファレンス/register_sidebars|register_sidebars]]( 2, array( 'name' => 'Foobar %d' ) );
  
=== 1個のサイドバー登録 ===
+
<div id="Register_Single_Sidebar">
 +
=== 1個のサイドバーを登録 ===
 +
</div>
  
 
  [[関数リファレンス/register_sidebar|register_sidebar]]( $args );
 
  [[関数リファレンス/register_sidebar|register_sidebar]]( $args );
  
The optional $args parameter is an associative array that will be passed as a first argument to every active widget callback. (If a string is passed instead of an array, it will be passed through parse_str() to generate an associative array.) The basic use for these arguments is to pass theme-specific HTML tags to wrap the widget and its title. Here are the default values:
+
オプションの $args パラメータは連想配列で、すべての有効なウィジェットのコールバックへ第1引数として渡されます。(もし配列の代わりに文字列が指定されると、parse_str() によって連想配列を作ってから渡されます。)この引数の基本的な用途はウィジェットとそのタイトルを囲むためにテーマ独自の HTML タグを渡すというものです。デフォルト値を示します:
  
 
<pre>
 
<pre>
63行目: 71行目:
 
'class'        => '',
 
'class'        => '',
 
'before_widget' => '<li id="%1$s" class="widget %2$s">',
 
'before_widget' => '<li id="%1$s" class="widget %2$s">',
'after_widget'  => "</li>n",
+
'after_widget'  => "</li>\n",
 
'before_title'  => '<h2 class="widgettitle">',
 
'before_title'  => '<h2 class="widgettitle">',
'after_title'  => "</h2>n",
+
'after_title'  => "</h2>\n",
 
);
 
);
 
</pre>
 
</pre>
  
There are times you might need to call this function instead of register_sidebars().  An example of this would be when you want to give unique names to the sidebars, such as "Right Sidebar" and "Left Sidebar", or when they should be marked up differently.  The names appear in the admin interface and are used as an index for saving sidebar arrangement.  Please note: sidebar arrangements can be reused and overwritten when another theme is chosen that uses the same sidebar names.
+
register_sidebars() の代わりにこの関数を呼ぶ必要があるかもしれません。それは例えばサイドバーに「右サイドバー」と「左サイドバー」のようにユニークな名前をつけたい場合や、違うマークアップを行いたい場合です。管理画面に表示される名前はサイドバーを配置する時にインデックスとして使われます。'''参考:'''サイドバーの配置は同じサイドバー名を使う別のテーマを選んだ時に上書き<!-- can be reused and overwritten -->されます。
  
The default before and after values are intended for themes that generate a sidebar marked up as a list with "h2" titles. This is the recommended convention for themes. Themes built using this structure can simply register sidebars without issues in regard to the before and after tags. If a theme cannot be marked up in this way, these tags must be specified when registering sidebars. It is recommended to copy the id and class attributes verbatim so that an internal sprintf call can work and CSS styles can be applied to individual widgets.
+
before(前置タグ)と after(後置タグ)のデフォルト値は、「h2」でタイトルをつけたリストとしてマークアップされたサイドバーを生成するテーマを想定しています。これはテーマに対して推奨される慣習です。この構造を使って作られたテーマは前置および後置タグに関する問題なしに簡単にサイドバーを登録できます。テーマがこの形のマークアップを行えない場合、これらのタグはサイドバーを登録する時に必ず指定しなければなりません。id と class の属性値は一字一句そのままコピーすることを推奨します。そうすることで内部の sprintf 呼び出しが正しく動作して個別のウィジェットへ CSS スタイルを適用することができます。
  
 +
<div id="Display_Sidebar_on_Theme">
 
=== テーマにサイドバーを表示する ===
 
=== テーマにサイドバーを表示する ===
 +
</div>
  
 
  [[関数リファレンス/dynamic_sidebar|dynamic_sidebar]]( $sidebar );
 
  [[関数リファレンス/dynamic_sidebar|dynamic_sidebar]]( $sidebar );
  
This function calls each of the active widget callbacks in order, which prints the markup for the sidebar. If you have more than one sidebar, you should give this function the name or number of the sidebar you want to print. This function returns true on success, false on failure.
+
この関数は有効なウィジェットのコールバックを順に呼び出します。コールバックはサイドバーのマークアップを出力します。サイドバーが2つ以上あるなら、出力したいサイドバーの名前または番号をこの関数へ指定します。この関数は成功すれば true、失敗すれば false を返します。
  
The return value should be used to determine whether to display a static sidebar. This ensures your theme will look good when the Widgets plug-in is not active. Along with a sanity test to prevent fatal errors, below is the recommended use of this function:
+
戻り値は静的サイドバーを表示するかどうか決定するのに使うべきです。こうするとウィジェットプラグインが有効でない時もテーマが綺麗に見えます。致命的なエラーを防ぐための健全性テストを加えれば、次のコードがこの関数の推奨される使い方になります:
  
 
<pre>
 
<pre>
 
<ul id="sidebar">
 
<ul id="sidebar">
 
<?php if ( ! 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>
  
If your sidebars were registered by number, they should be retrieved by number. If they had names when you registered them, you will use their assigned names to retrieve them.
+
サイドバーを番号で登録してあった場合、番号で指定すべきです。登録時に名前をつけてあったら、その名前を使ってサイドバーを取得します。
  
 +
 +
<div id="Resources">
 
== リソース ==
 
== リソース ==
 +
</div>
 +
 
* [http://generatewp.com/sidebar/ WordPress Sidebar Generator]
 
* [http://generatewp.com/sidebar/ WordPress Sidebar Generator]
  
== 関連ページ ==
+
<div id="Related">
 +
== 関連項目 ==
 +
</div>
 +
 
 
* [[Customizing Your Sidebar]] /[[:en:Customizing Your Sidebar|en]]
 
* [[Customizing Your Sidebar]] /[[:en:Customizing Your Sidebar|en]]
 
* [[テンプレート入門]]
 
* [[テンプレート入門]]
  
 
{{Sidebar Tags}}
 
{{Sidebar Tags}}
 
  
 
{{Theme Support}}
 
{{Theme Support}}
  
 +
{{原文|Sidebars|138857}} <!-- 15:16, 4 December 2013 Realloc 版 -->
  
{{原文|Sidebars|126443}}<!-- 2013-01-27T06:10:14 Ramiy 版 -->
 
 
[[Category:サイドバー|*]]
 
[[Category:サイドバー|*]]
 
[[Category:上級トピック]]
 
[[Category:上級トピック]]

2015年10月19日 (月) 00:26時点における最新版

この項目「サイドバー」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

サイドバーとは バージョン 2.2 で導入されたテーマ機能です。テーマによって提供される基本的には縦方向のカラムで、Web ページのメインコンテンツ以外の情報を表示します。テーマにはふつうコンテンツの右または左側に最低1つのサイドバーが含まれています。サイドバーにはふつうサイトの管理者がカスタマイズできるウィジェットが配置されます。

関数リファレンス

サイドバーの登録
サイドバーの表示

サイドバーの定義

下記の関数はサイドバーの機能をテーマへ加えるのに用いられます。

複数サイドバーの登録

register_sidebars( $count, $args );

現在のテーマで使用するひとつまたは複数のサイドバーを登録します。多くのテーマはサイドバーがひとつだけです。このため $count パラメータはオプションで、デフォルト値は 1 です。

$args パラメータは register_sidebar() へ渡されます。値は register_sidebar() が定める形式に従いますが、名前だけは例外です。もし $count が複数なら sprintf() を使ってサイドバー毎に数字を前か後につけます。

例えば次のコードは名前が「Foobar 1」と「Foobar 2」のサイドバーを作ります:

register_sidebars( 2, array( 'name' => 'Foobar %d' ) );

1個のサイドバーを登録

register_sidebar( $args );

オプションの $args パラメータは連想配列で、すべての有効なウィジェットのコールバックへ第1引数として渡されます。(もし配列の代わりに文字列が指定されると、parse_str() によって連想配列を作ってから渡されます。)この引数の基本的な用途はウィジェットとそのタイトルを囲むためにテーマ独自の HTML タグを渡すというものです。デフォルト値を示します:

$args = array(
	'name'          => sprintf( __( 'Sidebar %d' ), $i ),
	'id'            => "sidebar-$i",
	'description'   => '',
	'class'         => '',
	'before_widget' => '<li id="%1$s" class="widget %2$s">',
	'after_widget'  => "</li>\n",
	'before_title'  => '<h2 class="widgettitle">',
	'after_title'   => "</h2>\n",
);

register_sidebars() の代わりにこの関数を呼ぶ必要があるかもしれません。それは例えばサイドバーに「右サイドバー」と「左サイドバー」のようにユニークな名前をつけたい場合や、違うマークアップを行いたい場合です。管理画面に表示される名前はサイドバーを配置する時にインデックスとして使われます。参考:サイドバーの配置は同じサイドバー名を使う別のテーマを選んだ時に上書きされます。

before(前置タグ)と after(後置タグ)のデフォルト値は、「h2」でタイトルをつけたリストとしてマークアップされたサイドバーを生成するテーマを想定しています。これはテーマに対して推奨される慣習です。この構造を使って作られたテーマは前置および後置タグに関する問題なしに簡単にサイドバーを登録できます。テーマがこの形のマークアップを行えない場合、これらのタグはサイドバーを登録する時に必ず指定しなければなりません。id と class の属性値は一字一句そのままコピーすることを推奨します。そうすることで内部の sprintf 呼び出しが正しく動作して個別のウィジェットへ CSS スタイルを適用することができます。

テーマにサイドバーを表示する

dynamic_sidebar( $sidebar );

この関数は有効なウィジェットのコールバックを順に呼び出します。コールバックはサイドバーのマークアップを出力します。サイドバーが2つ以上あるなら、出力したいサイドバーの名前または番号をこの関数へ指定します。この関数は成功すれば true、失敗すれば false を返します。

戻り値は静的サイドバーを表示するかどうか決定するのに使うべきです。こうするとウィジェットプラグインが有効でない時もテーマが綺麗に見えます。致命的なエラーを防ぐための健全性テストを加えれば、次のコードがこの関数の推奨される使い方になります:

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

サイドバーを番号で登録してあった場合、番号で指定すべきです。登録時に名前をつけてあったら、その名前を使ってサイドバーを取得します。


リソース

サイドバー: 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,
テーマサポート: add_theme_support(), remove_theme_support(), current_theme_supports()
テーマ機能: サイドバー, ナビゲーションメニュー, 投稿フォーマット, 投稿サムネイル, カスタム背景, カスタムヘッダー, 自動フィードリンク, html5, コンテンツ幅, editor-style



最新英語版: WordPress Codex » Sidebars最新版との差分