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”をカスタムタクソノミー名にすれば、カスタムタクソノミーの一覧でも実装可能です。
あとがき
カテゴリーの一覧をセレクトボックスで表示したいという状況は、意外とあるかもしれませんね。ほぼコピペでいけますので、ぜひ参考にしてください。