テンプレートタグ/wp dropdown categories

出典: WordPress Codex 日本語版

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

このテンプレートタグは WordPress 2.1 以上でのみ使えます。


使い方

<?php wp_dropdown_categories('引数'); ?>

用例

デフォルトでの使い方

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

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

  • カテゴリ ID の昇順にソート
  • 最終更新日は非表示
  • 各カテゴリの投稿数は非表示
  • 空の(投稿のない)カテゴリは非表示
  • 除外カテゴリなし
  • カテゴリを表示(表示するか値として返すか選べるので)
  • フォームの 'selected'(初期選択値)とするカテゴリなし
  • カテゴリを階層型構造で表示しない
  • フォーム名を 'cat' とする
  • フォームのクラスを 'postform' とする
  • 階層の深さ制限なし

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

<li id="categories">
 <h2><?php _e('Categories:'); ?></h2>
   <form action="<?php bloginfo('url'); ?>" method="get">
   <?php wp_dropdown_categories('show_count=1&hierarchical=1'); ?>
   <input type="submit" name="submit" value="view" />
   </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>
<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">
<?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><input type="submit" value="View" /></noscript>
	</form>
</li>

パラメータ

show_option_all
文字列) すべてのカテゴリーを含むオプションを表示する
show_option_none
文字列) すべてカテゴリーを含まないオプションを表示する
orderby
文字列) ソートキー。有効値:
  • 'ID' - カテゴリ ID(初期値)
  • 'name' - カテゴリ名
order
文字列) ソート順。有効値:
  • 'ASC' - 昇順(初期値)
  • 'DESC' - 降順
show_last_update
真偽値) 各カテゴリに属する投稿の最終更新日を表示するかどうか。有効値:
  • 1 (True) - 表示
  • 0 (False) - 非表示(初期値)
show_count
真偽値) 各カテゴリに属する投稿数を表示するかどうか。有効値:
  • 1 (True) - 表示
  • 0 (False) - 非表示(初期値)
hide_empty
真偽値) 投稿のないカテゴリを隠す(非表示とする)かどうか。
  • 1 (True) - 隠す(初期値)
  • 0 (False) - 表示
child_of
整数) 指定した カテゴリ ID の子カテゴリのみを表示する。初期値なし。
exclude
文字列) 除外したいカテゴリ ID をカンマ区切りで指定。例えば、'exclude=4,12' とすれば、カテゴリ ID 4 と 12 を表示しない/値として返さない。初期値は除外カテゴリなし。
exclude_tree
文字列) カンマ区切りのリストで、除外したい親カテゴリの ID を定義する。親カテゴリと、その小カテゴリをすべて除外したい時に使う。'exclude_tree=5' と指定した場合、親カテゴリー 5 およびそのすべての小カテゴリが除外される。hierarchical パラメータが true の場合 exclude の値が exclude_tree として使われる。バージョン 2.7.1 で導入されたパラメータ。
echo
真偽値) カテゴリリストを表示する(TRUE)か、PHP で使うために値を返す(FALSE)か。初期値は TRUE
  • 1 (True) - 表示(初期値)
  • 0 (False) - 値を返す
selected
整数) 表示ボックスで 'selected' としたいカテゴリ ID。(これを付けるとドロップダウンメニューなどの選択値の初期値となる。)デフォルトではどれにも付けない。
hierarchical
真偽値) カテゴリを階層形式で表示(子カテゴリをインデント)するか。初期値は FALSE
  • 1 (True) - 階層形式
  • 0 (False) - 親子同レベル(初期値)
name
文字列) ドロップダウンメニューのフォーム名。デフォルトは 'cat'
class
文字列) ドロップダウンフォームのクラス。デフォルトは 'postform'
depth
整数) カテゴリ階層のどのレベルまでをカテゴリリストに出力するかを指定。初期値は 0(全親子カテゴリを出力)。このパラメータは 2.5 以上でのみ使えます。
  • 0 - 全ての親子カテゴリを出力 (初期値)
  • -1 - 全てのカテゴリをフラット(インデントなし)形式で出力(hierarchical パラメータより優先)
  • 1 - 最上位カテゴリのみ出力
  • n - n(数値)階層目までを出力。'2' と指定すれば、最上位とすぐ下の子カテゴリまでを出力。
pad_counts
真偽値)小カテゴリからの項目を含んだリンクまたは投稿数を計算する show_countshierarchicaltrue の場合、このパラメータは自動的に true に設定される。バージョン 2.9 で導入されたパラメータ。
  • 1 (True)
  • 0 (False) -(初期値)

変更履歴

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

the_category, the_category_rss, single_cat_title, category_description, wp_dropdown_categories, wp_list_categories, get_the_category, 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 » Template_Tags/wp_dropdown_categories最新版との差分

他の言語