WordPressのカテゴリー一覧といえば、サイドバー等にリスト形式で表示することが多いと思います。とある案件で、カテゴリーの一覧をセレクトボックスで表示し、選択したカテゴリーにページ移動できるようにしたい、という要望をいただいたので、実装した時の方法をご紹介いたします。
WordPressのカテゴリー一覧をセレクトボックスで表示する方法
カテゴリー一覧のセレクトボックスを表示する場合、テーマファイル内の表示したい箇所に以下を記述します。
01 02 03 04 05 06 07 08 09 10 | <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”をカスタムタクソノミー名にすれば、カスタムタクソノミーの一覧でも実装可能です。
あとがき
カテゴリーの一覧をセレクトボックスで表示したいという状況は、意外とあるかもしれませんね。ほぼコピペでいけますので、ぜひ参考にしてください。