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

「テンプレートタグ/wp dropdown categories」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(pad_counts と exclude_tree を追加。)
(en:Function Reference/wp_dropdown_categories 07:08, 10 July 2014 Ore4444 版を反映した上で、和訳を改訂。)
3行目: 3行目:
 
</div>
 
</div>
  
送信ボタンのないセレクトボックス(ドロップダウンメニューなど)を使ったカテゴリリストを表示します。
+
送信ボタンのないセレクトボックス(ドロップダウンメニューなど)を使ったカテゴリーリストを表示します。
 
+
<!-- Display or retrieve the HTML dropdown list of categories. -->
このテンプレートタグは WordPress '''[[Version 2.1|2.1]] 以上'''でのみ使えます。
+
 
+
<br style="clear:both;" />
+
  
 
<div id="Usage">
 
<div id="Usage">
13行目: 10行目:
 
</div>
 
</div>
  
  <?php wp_dropdown_categories('引数'); ?>
+
  <?php wp_dropdown_categories( $args ); ?>
  
<div id="Examples">
+
<div id="Default Usage">
== 用例 ==
+
=== デフォルトの使い方 ===
 
</div>
 
</div>
  
<div id="Default_Usage">
 
===デフォルトでの使い方===
 
</div>
 
 
<pre>
 
<pre>
 
<?php $args = array(
 
<?php $args = array(
28行目: 22行目:
 
'orderby'            => 'ID',  
 
'orderby'            => 'ID',  
 
'order'              => 'ASC',
 
'order'              => 'ASC',
'show_last_update'  => 0,
 
 
'show_count'        => 0,
 
'show_count'        => 0,
 
'hide_empty'        => 1,  
 
'hide_empty'        => 1,  
37行目: 30行目:
 
'hierarchical'      => 0,  
 
'hierarchical'      => 0,  
 
'name'              => 'cat',
 
'name'              => 'cat',
 +
'id'                => '',
 
'class'              => 'postform',
 
'class'              => 'postform',
'depth'              => 0 ); ?>
+
'depth'              => 0,
 +
'tab_index'          => 0,
 +
'taxonomy'          => 'category',
 +
'hide_if_empty'      => false,
 +
); ?>
 
</pre>
 
</pre>
デフォルトでは次のように表示:
+
 
* カテゴリ ID の昇順にソート
+
デフォルトでは次のように表示します:
 +
* カテゴリー ID の昇順にソート
 
* 最終更新日は非表示
 
* 最終更新日は非表示
* 各カテゴリの投稿数は非表示
+
* 各カテゴリーの投稿数は非表示
* 空の(投稿のない)カテゴリは非表示
+
* 空の(投稿のない)カテゴリーは非表示
* 除外カテゴリなし
+
* 除外カテゴリーなし
* カテゴリを表示(表示するか値として返すか選べるので)
+
* カテゴリーを表示(表示するか値として返すか選べるので)
* フォームの <code>'selected'</code>(初期選択値)とするカテゴリなし
+
* フォームの <code>'selected'</code>(初期選択値)とするカテゴリーなし
* カテゴリを階層型構造で表示しない
+
* カテゴリーを階層型構造で表示しない
 
* フォーム名を <code>'cat'</code> とする
 
* フォーム名を <code>'cat'</code> とする
 +
* フォーム内のカテゴリーの ID 属性を指定しないため(デフォルトの)カテゴリー名が入る
 
* フォームのクラスを <code>'postform'</code> とする
 
* フォームのクラスを <code>'postform'</code> とする
 
* 階層の深さ制限なし
 
* 階層の深さ制限なし
 +
* フォームの tabindex を 0 にする
 +
* タクソノミーを 'category' にする
 +
* カテゴリー(タクソノミー 'category' のターム)が一つも無ければフォーム自体を非表示
 +
 +
<div id="Parameters">
 +
== パラメータ ==
 +
</div>
 +
 +
{{Parameter|$args|文字列&#124;配列|デフォルトの引数を上書きします。下記の[[#Arguments|引数]]を参照してください。|オプション| }}
 +
 +
<div id="Return Values">
 +
== 戻り値 ==
 +
</div>
 +
 +
; (文字列) : '<tt>echo</tt>' 引数が 0 の場合のみ HTML コンテンツを返します。
 +
 +
<div id="Arguments">
 +
== 引数 ==
 +
</div>
 +
 +
{{Parameter|show_option_all|文字列|クリックすると '<tt>すべてのカテゴリー</tt>' を選択できるテキスト。デフォルトでは、'<tt>すべてのカテゴリー</tt>’ を選択できるテキストを表示しない。|オプション|&#39;&#39;}}
 +
 +
{{Parameter|show_option_none|文字列|クリックすると '<tt>カテゴリーなし</tt>' を指定できるテキスト。デフォルトでは、'<tt>カテゴリーなし</tt>’ を指定できるテキストを表示しない。|オプション|&#39;&#39;}}
 +
 +
{{Parameter|orderby|文字列|カテゴリーをソートするためのキー項目。有効な値は 'ID', 'NAME'(名前), および 'SLUG'(スラッグ)|オプション|'ID'}}
 +
 +
{{Parameter|order|文字列|カテゴリーをソートする方向。有効な値は '<tt>ASC</tt>'(昇順)と '<tt>DESC</tt>'(降順)|オプション|'ASC'}}
 +
 +
{{Parameter|show_count|真偽値|各カテゴリーに属する投稿数を表示する (1/True) または、しない (0/False)|オプション|0/False}}
 +
 +
{{Parameter|hide_empty|真偽値|投稿のないカテゴリーを表示する (0/False) または、しない (1/True)|オプション|1/True}}
 +
 +
{{Parameter|child_of|整数|カテゴリーを ID で指定して、その子孫のすべてのカテゴリー(子、孫、ひ孫・・・)を表示する。[[関数リファレンス/get_categories|<tt>get_categories()</tt>]] を参照。|オプション|0}}
 +
 +
{{Parameter|exclude|文字列|除外したいカテゴリー ID をカンマ区切りで指定。例えば 'exclude=4,12' とすれば、ID が 4 と 12 のカテゴリーを表示しない、または値として返さない。[[Function_Reference/get_categories|<tt>get_categories()</tt>]] を参照。|オプション|&#39;&#39;}}
 +
 +
{{Parameter|exclude_tree|文字列|カンマ区切りのリストで、除外したい親カテゴリーの ID を定義する。ある親カテゴリーとその子カテゴリーすべてを除外したい時に使う。例えば '<tt>exclude_tree=5</tt>' を指定すると、ID が 5 のカテゴリーとその子(すべての子孫)カテゴリーが除外される。<tt>hierarchical</tt> 引数が true の場合は、<tt>exclude</tt> 引数の値を使って exclude_tree と同じ処理が実行される。|オプション}}
 +
 +
{{Parameter|echo|真偽値|カテゴリーリストを表示する (1/True) または、PHP で使うために値を返す (0/False)|オプション|1/True}}
 +
 +
{{Parameter|depth|整数|カテゴリー階層のどのレベルまでを出力するかを指定。<tt>hierarchical</tt> 引数が true でなければ、これは無視される。|オプション|0}}
 +
 +
'''参考''':
 +
:* 0 - 全ての階層のカテゴリーを出力
 +
:* -1 - 全てのカテゴリーをフラット(インデントなし)形式で出力(hierarchical 引数よりも優先)
 +
:* 1 - 最上位カテゴリーのみ出力
 +
:* 2以上 - 指定した階層までを出力。例えば 2 を指定すると、最上位と直下の子カテゴリまでを出力。
 +
 +
{{Parameter|tab_index|整数|ドロップダウンメニューの <tt>select</tt> 要素に '<tt>tabindex</tt>' 属性を付ける。|オプション|0}}
 +
 +
{{Parameter|name|文字列|ドロップダウンメニューのフォーム名(<tt>select</tt> 要素の '<tt>name</tt>' 属性)。|オプション|'cat'}}
 +
 +
{{Parameter|id|文字列|ドロップダウンメニューの ID(<tt>select</tt> 要素の '<tt>id</tt>' 属性)。|オプション|'name'}}
 +
 +
{{Parameter|class|文字列|ドロップダウンメニューのクラス(<tt>select</tt> 要素の '<tt>class</tt>' 属性)。|オプション|'postform'}}
 +
 +
{{Parameter|selected|整数|表示ボックスで 'selected' としたいカテゴリーの ID(これを付けるとドロップダウンメニューなどの選択値の初期値となる)。|オプション|0(どれにも付けない)}}
 +
 +
{{Parameter|hierarchical|真偽値|カテゴリーをフラットに表示する (0/False) または、階層形式(子孫カテゴリーをインデント)で表示する (1/True)|オプション|0/False}}
 +
 +
'''参考''':階層形式にすると '<tt>depth</tt>' 引数で指定する階層までを表示する。
 +
 +
{{Parameter|pad_counts|真偽値|リンク数または投稿数を計算するとき、子孫カテゴリーからの数値を含める。'<tt>show_counts</tt>' と '<tt>hierarchical</tt>' が両方とも true の場合、この引数は自動的に true に設定される。|オプション|0/False}}
 +
 +
{{Parameter|taxonomy|文字列|指定したタクソノミーを返す。有効な値は '<tt>category</tt>'(カテゴリー)、'<tt>post_tag</tt>'(タグ)、または登録済みの[[カスタム分類]](タクソノミー)。|オプション|category}}
 +
 +
{{Parameter|hide_if_empty|真偽値|ターム(例:カテゴリー、投稿タグ、カスタム分類の項目)が一つも無いときにフォーム自体を非表示にする (1/True) または、表示する (0/False)|オプション|0/False}}
 +
 +
<div id="Example">
 +
== 用例 ==
 +
</div>
  
<div id="Dropdown_with_Submit_Button">
+
<div id="Dropdown with Submit Button">
 
=== 送信ボタン付きドロップダウンメニュー ===
 
=== 送信ボタン付きドロップダウンメニュー ===
 
</div>
 
</div>
  
WordPress サイドバーの箇条書きリスト内に、HTMLフォームの送信ボタン付き階層型カテゴリ・ドロップダウンリストを表示、各カテゴリの投稿数も表示。
+
WordPress サイドバーの箇条書きリスト内に、送信ボタン付きの HTML フォームとして、階層型カテゴリーのドロップダウンリストを表示します。
 +
各カテゴリーの投稿数も表示します。
  
 
<pre>
 
<pre>
 
<li id="categories">
 
<li id="categories">
<h2><?php _e('Categories:'); ?></h2>
+
<h2><?php _e('Categories:'); ?></h2>
  <form action="<?php bloginfo('url'); ?>" method="get">
+
<form action="<?php bloginfo('url'); ?>" method="get">
  <?php wp_dropdown_categories('show_count=1&hierarchical=1'); ?>
+
<div>
  <input type="submit" name="submit" value="view" />
+
<?php wp_dropdown_categories('show_count=1&hierarchical=1'); ?>
  </form>
+
<input type="submit" name="submit" value="view" />
 +
</div>
 +
</form>
 
</li>
 
</li>
 
</pre>
 
</pre>
  
<div id="Dropdown_without_a_Submit_Button_using_JavaScript">
+
<div id="Dropdown without a Submit Button using JavaScript">
 
=== JavaScript を用いた送信ボタンなしドロップダウンメニュー ===
 
=== JavaScript を用いた送信ボタンなしドロップダウンメニュー ===
 
</div>
 
</div>
例は show_option_none パラメータを使った例です。[http://wordpress.org/support/topic/145489?replies=13#post-657759 Moshu のフォーラムの投稿]から拾われました。
+
 
 +
これは show_option_none パラメータを使った例です。
 +
[http://wordpress.org/support/topic/145489?replies=13#post-657759 Moshu さんのフォーラムの投稿]から転載しました。
  
 
<pre>
 
<pre>
89行目: 165行目:
 
--></script>
 
--></script>
 
</li>
 
</li>
<li>
 
 
</pre>
 
</pre>
  
<div id="Dropdown_without_a_Submit_Button_using_JavaScript_.282.29">
+
<div id="Dropdown without a Submit Button using JavaScript (2)">
===JavaScript を用いた送信ボタンなしドロップダウンメニュー (2) ===
+
=== JavaScript を用いた送信ボタンなしドロップダウンメニュー (2) ===
 
</div>
 
</div>
この例では ''echo'' パラメータ (echo=0) が使われています。''preg_replace'' JavaScript のコードを追加しています。JavaScript が使えない環境でも動作します (送信ボタンが ''noscript'' タグ内に埋め込まれています)。
+
 
 +
この例は ''echo'' パラメータ (echo=0) を使っています。
 +
簡単な ''preg_replace'' を使って JavaScript のコードを追加しています。
 +
JavaScript が使えない環境でも動作します(送信ボタンを ''noscript'' タグ内に埋め込んであるから)。
  
 
<pre>
 
<pre>
101行目: 179行目:
 
<h2><?php _e('Posts by Category'); ?></h2>
 
<h2><?php _e('Posts by Category'); ?></h2>
 
<form action="<?php bloginfo('url'); ?>/" method="get">
 
<form action="<?php bloginfo('url'); ?>/" method="get">
 +
<div>
 
<?php
 
<?php
$select = wp_dropdown_categories('show_option_none=Select category&show_count=1&orderby=name&echo=0');
+
$select = wp_dropdown_categories('show_option_none=Select category&show_count=1&orderby=name&echo=0');
$select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select);
+
$select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select);
echo $select;
+
echo $select;
 
?>
 
?>
<noscript><input type="submit" value="View" /></noscript>
+
<noscript><div><input type="submit" value="View" /></div></noscript>
</form>
+
</div></form>
 
</li>
 
</li>
 
</pre>
 
</pre>
  
<div id="Parameters">
+
<div id="Notes">
== パラメータ ==
+
== 参考 ==
 
</div>
 
</div>
  
; show_option_all
+
* 一度に複数の値を選べるようにするには、<tt>[[関数リファレンス/wp_category_checklist|wp_category_checklist()]]</tt> を使ってください。
: (''文字列'') すべてのカテゴリーを含むオプションを表示する
+
* 結果の文字列を echo または返す前に <tt>[[プラグイン API/フィルターフック一覧/wp_dropdown_cats|wp_dropdown_cats]]</tt> フィルターが適用されます。
; show_option_none
+
: (''文字列'') すべてカテゴリーを含まないオプションを表示する
+
; orderby
+
: (''文字列'') ソートキー。有効値:
+
:* <code>'ID'</code> - カテゴリ ID(初期値)
+
:* <code>'name'</code> - カテゴリ名
+
; order
+
: (''文字列'') ソート順。有効値:
+
:* <code>'ASC'</code> - 昇順(初期値)
+
:* <code>'DESC'</code> - 降順
+
; show_last_update
+
: (''真偽値'') 各カテゴリに属する投稿の最終更新日を表示するかどうか。有効値:
+
:* <code>1</code> (True) - 表示
+
:* <code>0 </code> (False) - 非表示(初期値)
+
; show_count
+
: (''真偽値'') 各カテゴリに属する投稿数を表示するかどうか。有効値:
+
:* <code>1</code> (True) - 表示
+
:* <code>0</code> (False) - 非表示(初期値)
+
; hide_empty
+
: (''真偽値'') 投稿のないカテゴリを隠す(非表示とする)かどうか。
+
:* <code>1</code> (True) - 隠す(初期値)
+
:* <code>0</code> (False) - 表示
+
; child_of
+
: (''整数'') 指定した カテゴリ ID の子カテゴリのみを表示する。初期値なし。
+
; exclude
+
: (''文字列'') 除外したいカテゴリ ID をカンマ区切りで指定。例えば、<code>'exclude=4,12'</code> とすれば、カテゴリ ID 4 と 12 を表示しない/値として返さない。初期値は除外カテゴリなし。
+
; exclude_tree
+
: (''文字列'') カンマ区切りのリストで、除外したい親カテゴリの ID を定義する。親カテゴリと、その小カテゴリをすべて除外したい時に使う。<code>'exclude_tree=5'</code> と指定した場合、親カテゴリー 5 およびそのすべての小カテゴリが除外される。<code>hierarchical</code> パラメータが <code>true</code> の場合 <code>exclude</code> の値が <code>exclude_tree</code> として使われる。[[Version 2.7.1|バージョン 2.7.1]] で導入されたパラメータ。
+
; echo
+
: (''真偽値'') カテゴリリストを表示する(<code>TRUE</code>)か、PHP で使うために値を返す(<code>FALSE</code>)か。初期値は <code>TRUE</code>
+
:* <code>1</code> (True) - 表示(初期値)
+
:* <code>0</code> (False) - 値を返す
+
; selected
+
: (''整数'') 表示ボックスで 'selected' としたいカテゴリ ID。(これを付けるとドロップダウンメニューなどの選択値の初期値となる。)デフォルトではどれにも付けない。
+
; hierarchical
+
: (''真偽値'') カテゴリを階層形式で表示(子カテゴリをインデント)するか。初期値は <code>FALSE</code>。
+
:* <code>1</code> (True) - 階層形式
+
:* <code>0</code> (False) - 親子同レベル(初期値)
+
; name
+
: (''文字列'') ドロップダウンメニューのフォーム名。デフォルトは <code>'cat'</code>。
+
; class
+
: (''文字列'') ドロップダウンフォームのクラス。デフォルトは <code>'postform'</code>。
+
<!-- 前項と合わせて <code><nowiki><form name="cat" class="postform"></nowiki></code> のようになるのかも? -->
+
; depth
+
: (''整数'') カテゴリ階層のどのレベルまでをカテゴリリストに出力するかを指定。初期値は ''0''(全親子カテゴリを出力)。このパラメータは '''[[Version 2.5|2.5]] 以上'''でのみ使えます。
+
:* <code>0</code>  - 全ての親子カテゴリを出力 (初期値)
+
:* <code>-1</code> - 全てのカテゴリをフラット(インデントなし)形式で出力('''hierarchical''' パラメータより優先)
+
:* <code>1</code>  - 最上位カテゴリのみ出力
+
:* <code>n</code>  - n(数値)階層目までを出力。'2' と指定すれば、最上位とすぐ下の子カテゴリまでを出力。
+
; '''pad_counts'''
+
: (''真偽値'')小カテゴリからの項目を含んだリンクまたは投稿数を計算する <code>show_counts</code> と <code>hierarchical</code> が <code>true</code> の場合、このパラメータは自動的に <code>true</code> に設定される。[[Version 2.9|バージョン 2.9]] で導入されたパラメータ。
+
:* <code>1</code> (True)
+
:* <code>0</code> (False) -(初期値)
+
  
 +
<div id="Change Log">
 
== 変更履歴 ==
 
== 変更履歴 ==
 +
</div>
  
 
* [[Version 2.9|2.9]] : パラメータに pad_counts を追加
 
* [[Version 2.9|2.9]] : パラメータに pad_counts を追加
177行目: 205行目:
 
* [[Version 2.5|2.5]] : パラメータに depth を追加
 
* [[Version 2.5|2.5]] : パラメータに depth を追加
 
* [[Version 2.1|2.1]] : 新規テンプレートタグ
 
* [[Version 2.1|2.1]] : 新規テンプレートタグ
 +
 +
<div id="Source File">
 +
== ソースファイル ==
 +
</div>
 +
 +
<tt>wp_dropdown_categories()</tt> は {{Trac|wp-includes/category-template.php}} にあります。
  
 
<div id="Related">
 
<div id="Related">
== 関連 ==
+
== 関連項目 ==
 
</div>
 
</div>
  
 
{{Tag Category Tags}}
 
{{Tag Category Tags}}
 +
 
{{Lists Tags}}
 
{{Lists Tags}}
{{PHP Function Tag Footer}}
 
{{原文|Template_Tags/wp_dropdown_categories|80735}} <!-- 2009-12-05T17:09:39 MichaelH 版 -->
 
  
{{DEFAULTSORT:wp_dropdown_categories}}
+
{{Tag Footer}}
[[Category:wp2.1]]
+
 
[[Category:wp2.5]]
+
{{原文|Function Reference/wp_dropdown_categories|144798}} <!-- 07:08, 10 July 2014 Ore4444 版 -->
[[Category:wp2.7.1]]
+
 
[[Category:wp2.9]]
+
{{DEFAULTSORT:Wp_dropdown_categories}}
 +
[[Category:テンプレートタグ]]
  
[[en:Template Tags/wp_dropdown_categories]]
+
[[en:Function Reference/wp_dropdown_categories]]

2014年8月7日 (木) 00:41時点における版

送信ボタンのないセレクトボックス(ドロップダウンメニューなど)を使ったカテゴリーリストを表示します。

使い方

<?php wp_dropdown_categories( $args ); ?>

デフォルトの使い方

<?php $args = array(
	'show_option_all'    => '',
	'show_option_none'   => '',
	'orderby'            => 'ID', 
	'order'              => 'ASC',
	'show_count'         => 0,
	'hide_empty'         => 1, 
	'child_of'           => 0,
	'exclude'            => '',
	'echo'               => 1,
	'selected'           => 0,
	'hierarchical'       => 0, 
	'name'               => 'cat',
	'id'                 => '',
	'class'              => 'postform',
	'depth'              => 0,
	'tab_index'          => 0,
	'taxonomy'           => 'category',
	'hide_if_empty'      => false,
); ?>

デフォルトでは次のように表示します:

  • カテゴリー ID の昇順にソート
  • 最終更新日は非表示
  • 各カテゴリーの投稿数は非表示
  • 空の(投稿のない)カテゴリーは非表示
  • 除外カテゴリーなし
  • カテゴリーを表示(表示するか値として返すか選べるので)
  • フォームの 'selected'(初期選択値)とするカテゴリーなし
  • カテゴリーを階層型構造で表示しない
  • フォーム名を 'cat' とする
  • フォーム内のカテゴリーの ID 属性を指定しないため(デフォルトの)カテゴリー名が入る
  • フォームのクラスを 'postform' とする
  • 階層の深さ制限なし
  • フォームの tabindex を 0 にする
  • タクソノミーを 'category' にする
  • カテゴリー(タクソノミー 'category' のターム)が一つも無ければフォーム自体を非表示

パラメータ

$args
文字列|配列) (オプション) デフォルトの引数を上書きします。下記の引数を参照してください。
初期値:

戻り値

(文字列) 
'echo' 引数が 0 の場合のみ HTML コンテンツを返します。

引数

show_option_all
文字列) (オプション) クリックすると 'すべてのカテゴリー' を選択できるテキスト。デフォルトでは、'すべてのカテゴリー’ を選択できるテキストを表示しない。
初期値: ''
show_option_none
文字列) (オプション) クリックすると 'カテゴリーなし' を指定できるテキスト。デフォルトでは、'カテゴリーなし’ を指定できるテキストを表示しない。
初期値: ''
orderby
文字列) (オプション) カテゴリーをソートするためのキー項目。有効な値は 'ID', 'NAME'(名前), および 'SLUG'(スラッグ)
初期値: 'ID'
order
文字列) (オプション) カテゴリーをソートする方向。有効な値は 'ASC'(昇順)と 'DESC'(降順)
初期値: 'ASC'
show_count
真偽値) (オプション) 各カテゴリーに属する投稿数を表示する (1/True) または、しない (0/False)
初期値: 0/False
hide_empty
真偽値) (オプション) 投稿のないカテゴリーを表示する (0/False) または、しない (1/True)
初期値: 1/True
child_of
整数) (オプション) カテゴリーを ID で指定して、その子孫のすべてのカテゴリー(子、孫、ひ孫・・・)を表示する。get_categories() を参照。
初期値: 0
exclude
文字列) ('') オプション
初期値: なし
exclude_tree
文字列) (必須) オプション
初期値: なし
echo
真偽値) (オプション) カテゴリーリストを表示する (1/True) または、PHP で使うために値を返す (0/False)
初期値: 1/True
depth
整数) (オプション) カテゴリー階層のどのレベルまでを出力するかを指定。hierarchical 引数が true でなければ、これは無視される。
初期値: 0

参考

  • 0 - 全ての階層のカテゴリーを出力
  • -1 - 全てのカテゴリーをフラット(インデントなし)形式で出力(hierarchical 引数よりも優先)
  • 1 - 最上位カテゴリーのみ出力
  • 2以上 - 指定した階層までを出力。例えば 2 を指定すると、最上位と直下の子カテゴリまでを出力。
tab_index
整数) (オプション) ドロップダウンメニューの select 要素に 'tabindex' 属性を付ける。
初期値: 0
name
文字列) (オプション) ドロップダウンメニューのフォーム名(select 要素の 'name' 属性)。
初期値: 'cat'
id
文字列) (オプション) ドロップダウンメニューの ID(select 要素の 'id' 属性)。
初期値: 'name'
class
文字列) (オプション) ドロップダウンメニューのクラス(select 要素の 'class' 属性)。
初期値: 'postform'
selected
整数) (オプション) 表示ボックスで 'selected' としたいカテゴリーの ID(これを付けるとドロップダウンメニューなどの選択値の初期値となる)。
初期値: 0(どれにも付けない)
hierarchical
真偽値) (オプション) カテゴリーをフラットに表示する (0/False) または、階層形式(子孫カテゴリーをインデント)で表示する (1/True)
初期値: 0/False

参考:階層形式にすると 'depth' 引数で指定する階層までを表示する。

pad_counts
真偽値) (オプション) リンク数または投稿数を計算するとき、子孫カテゴリーからの数値を含める。'show_counts' と 'hierarchical' が両方とも true の場合、この引数は自動的に true に設定される。
初期値: 0/False
taxonomy
文字列) (オプション) 指定したタクソノミーを返す。有効な値は 'category'(カテゴリー)、'post_tag'(タグ)、または登録済みのカスタム分類(タクソノミー)。
初期値: category
hide_if_empty
真偽値) (オプション) ターム(例:カテゴリー、投稿タグ、カスタム分類の項目)が一つも無いときにフォーム自体を非表示にする (1/True) または、表示する (0/False)
初期値: 0/False

用例

WordPress サイドバーの箇条書きリスト内に、送信ボタン付きの HTML フォームとして、階層型カテゴリーのドロップダウンリストを表示します。 各カテゴリーの投稿数も表示します。

<li id="categories">
	<h2><?php _e('Categories:'); ?></h2>
	<form action="<?php bloginfo('url'); ?>" method="get">
	<div>
	<?php wp_dropdown_categories('show_count=1&hierarchical=1'); ?>
	<input type="submit" name="submit" value="view" />
	</div>
	</form>
</li>

これは show_option_none パラメータを使った例です。 Moshu さんのフォーラムの投稿から転載しました。

<li id="categories"><h2><?php _e('Posts by Category'); ?></h2>
	<?php wp_dropdown_categories('show_option_none=Select category'); ?>

<script type="text/javascript"><!--
    var dropdown = document.getElementById("cat");
    function onCatChange() {
		if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
			location.href = "<?php echo get_option('home');
?>/?cat="+dropdown.options[dropdown.selectedIndex].value;
		}
    }
    dropdown.onchange = onCatChange;
--></script>
</li>

この例は echo パラメータ (echo=0) を使っています。 簡単な preg_replace を使って JavaScript のコードを追加しています。 JavaScript が使えない環境でも動作します(送信ボタンを noscript タグ内に埋め込んであるから)。

<li id="categories">
	<h2><?php _e('Posts by Category'); ?></h2>
	<form action="<?php bloginfo('url'); ?>/" method="get">
	<div>
<?php
$select = wp_dropdown_categories('show_option_none=Select category&show_count=1&orderby=name&echo=0');
$select = preg_replace("#<select([^>]*)>#", "<select$1 onchange='return this.form.submit()'>", $select);
echo $select;
?>
	<noscript><div><input type="submit" value="View" /></div></noscript>
	</div></form>
</li>

参考

  •  一度に複数の値を選べるようにするには、wp_category_checklist() を使ってください。
  •  結果の文字列を echo または返す前に wp_dropdown_cats フィルターが適用されます。

変更履歴

  • 2.9 : パラメータに pad_counts を追加
  • 2.7.1 : パラメータに exclude_tree を追加
  • 2.5 : パラメータに depth を追加
  • 2.1 : 新規テンプレートタグ

ソースファイル

wp_dropdown_categories()wp-includes/category-template.php にあります。


カテゴリータグ: the_category(), the_category_rss(), single_cat_title(), category_description(), wp_dropdown_categories(), wp_list_categories(), get_the_category(), get_the_category_by_ID(), get_category_by_slug(), get_the_category_list(), get_category_parents(), get_category_link(), is_category(), in_category()


リスト・ドロップダウン関数: wp_list_authors(), wp_list_categories(), wp_list_pages(), wp_list_bookmarks(), wp_list_comments(), wp_get_archives(), wp_page_menu(), wp_dropdown_pages(), wp_dropdown_categories(), wp_dropdown_users()


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


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