wp_dropdown_categories()

wp_dropdown_categories()
目次

wp_dropdown_categories()の用途

wp_dropdown_categories() は、カテゴリー一覧を <select> 要素(プルダウンメニュー)として出力または取得するための WordPress テンプレートタグです。主に投稿の絞り込みやカテゴリー選択UIを提供したいときに使用されます。

wp_dropdown_categories()の基本構文

wp_dropdown_categories( array|string $args = '' )

引数には 配列 または クエリ文字列 を指定できます。

wp_dropdown_categories()の主なパラメータ

パラメータ説明
show_option_allstring「すべて表示」用のオプションラベル(例:'すべてのカテゴリー'
show_option_nonestringカテゴリーがない場合に表示するテキスト
orderbystring並び順(name, id, count, slug, term_group
orderstring昇順 ASC または 降順 DESC
show_countbool各カテゴリー名の後に投稿数を表示(例:ニュース (12))
hide_emptybool投稿数が0のカテゴリーを非表示
excludestring除外するカテゴリーID(カンマ区切り)例:'1,5,10'
includestring表示するカテゴリーIDを限定
selectedint初期選択されるカテゴリーID
namestring<select> の name 属性値(デフォルトは 'cat'
idstring<select> の id 属性値
classstring<select> に付ける CSS クラス名
echobooltrueで出力、falseで文字列として返す(デフォルト true
hierarchicalbool階層的に表示(親子カテゴリーのインデント表示)
depthint表示する階層の深さ(0で無制限)
taxonomystring対象タクソノミー(デフォルトは 'category'

wp_dropdown_categories()の使用例

1. カテゴリー選択用のシンプルなセレクトボックス

wp_dropdown_categories();

→ デフォルト設定のセレクトメニューを出力します。

2. 投稿数を表示し、「すべてのカテゴリー」オプションを追加

wp_dropdown_categories( array(
    'show_option_all' => 'すべてのカテゴリー',
    'show_count' => true,
    'orderby' => 'name',
    'order' => 'ASC'
) );

3. 出力せずに HTML 文字列を取得(変数に格納)

$dropdown = wp_dropdown_categories( array(
    'echo' => false,
    'name' => 'my_category',
    'selected' => 3,
) );
echo '<form>' . $dropdown . '</form>';

wp_dropdown_categories()の実用的な使い方:選択後に自動でリダイレクト

<script>
function onCatChange(sel) {
    if (sel.value > 0) {
        location.href = "<?php echo home_url(); ?>/?cat=" + sel.value;
    }
}
</script>

<?php
wp_dropdown_categories( array(
    'show_option_all' => 'カテゴリーを選択',
    'orderby' => 'name',
    'hide_empty' => 0,
    'name' => 'cat',
    'onchange' => 'onCatChange(this)'
) );
?>

カスタムタクソノミーに使う

wp_dropdown_categories( array(
    'taxonomy' => 'my_custom_taxonomy',
    'show_option_all' => 'すべて表示',
    'hide_empty' => false
) );

類似関数との違い

関数名用途出力形式
wp_dropdown_categories()<select>でカテゴリーを表示HTMLセレクトボックス
wp_list_categories()<ul>リストでカテゴリー表示HTMLリスト
get_categories()カテゴリー情報を配列で取得配列
get_terms()任意のタクソノミーの用語一覧を取得配列

補足

  • WordPressの投稿検索や絞り込みUI、ウィジェット、自作プラグインなど幅広く使われる便利なタグです。
  • カスタマイズ性が高いため、絞り込みフォームや投稿管理UIにも活用できます。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次