! 各ページ右上の画像広告経由でコンピュータウィルスがダウンロードされた可能性があります。ウィルスチェックをお願いします。詳しくは http://bono.s201.xrea.com/2008/06/693-virus_by_xrea_ad/ をご覧ください。ご迷惑をおかけしてしまい大変申し訳ありません。
テンプレートタグ/wp dropdown categories
出典: ps*wiki
< テンプレートタグ
送信ボタンのないセレクトボックス(ドロップダウンメニューなど)を使ったカテゴリリストを表示します。
このテンプレートタグは WordPress 2.1 以上でのみ使えます。
<?php wp_dropdown_categories('引数'); ?>
$defaults = 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'とする - 階層の深さ制限なし
<?php wp_dropdown_categories(); ?>
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 を表示しない/値として返さない。初期値は除外カテゴリなし。 - 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' と指定すれば、最上位とすぐ下の子カテゴリまでを出力。
-
変更履歴
the_category, the_category_rss, single_cat_title, category_description, wp_dropdown_categories, wp_list_categories, in_category, get_category_parents, get_category_link, get_the_category
