
目次
wp_dropdown_categories()の用途
wp_dropdown_categories()
は、カテゴリー一覧を <select>
要素(プルダウンメニュー)として出力または取得するための WordPress テンプレートタグです。主に投稿の絞り込みやカテゴリー選択UIを提供したいときに使用されます。
wp_dropdown_categories()の基本構文
wp_dropdown_categories( array|string $args = '' )
引数には 配列
または クエリ文字列
を指定できます。
wp_dropdown_categories()の主なパラメータ
パラメータ | 型 | 説明 |
---|---|---|
show_option_all | string | 「すべて表示」用のオプションラベル(例:'すべてのカテゴリー' ) |
show_option_none | string | カテゴリーがない場合に表示するテキスト |
orderby | string | 並び順(name , id , count , slug , term_group ) |
order | string | 昇順 ASC または 降順 DESC |
show_count | bool | 各カテゴリー名の後に投稿数を表示(例:ニュース (12)) |
hide_empty | bool | 投稿数が0のカテゴリーを非表示 |
exclude | string | 除外するカテゴリーID(カンマ区切り)例:'1,5,10' |
include | string | 表示するカテゴリーIDを限定 |
selected | int | 初期選択されるカテゴリーID |
name | string | <select> の name 属性値(デフォルトは 'cat' ) |
id | string | <select> の id 属性値 |
class | string | <select> に付ける CSS クラス名 |
echo | bool | true で出力、false で文字列として返す(デフォルト true ) |
hierarchical | bool | 階層的に表示(親子カテゴリーのインデント表示) |
depth | int | 表示する階層の深さ(0 で無制限) |
taxonomy | string | 対象タクソノミー(デフォルトは '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にも活用できます。