WordPressのカテゴリー一覧といえば、サイドバー等にリスト形式で表示することが多いと思います。とある案件で、カテゴリーの一覧をセレクトボックスで表示し、選択したカテゴリーにページ移動できるようにしたい、という要望をいただいたので、実装した時の方法をご紹介いたします。
WordPressのカテゴリー一覧をセレクトボックスで表示する方法
カテゴリー一覧のセレクトボックスを表示する場合、テーマファイル内の表示したい箇所に以下を記述します。
<div class="cat-select">
<?php $categories = get_categories(array('taxonomy' => 'category')); if ( $categories ) : ?>
<select name="cat-dropdown" onchange="document.location.href=this.options[this.selectedIndex].value;">
<option value="" selected="selected">カテゴリーを選択</option>
<?php foreach ( $categories as $category ): ?>
<option value="<?php echo esc_html( get_category_link( $category->term_id ) ); ?>"><?php echo esc_html( $category->name ); ?></option>
<?php endforeach; ?>
</select>
<?php endif; ?>
</div>
「’taxonomy’ => ‘category’」の”category”をカスタムタクソノミー名にすれば、カスタムタクソノミーの一覧でも実装可能です。
あとがき
カテゴリーの一覧をセレクトボックスで表示したいという状況は、意外とあるかもしれませんね。ほぼコピペでいけますので、ぜひ参考にしてください。

