カスタム投稿タイプの一覧をドロップダウンメニューで表示する
タイトルの通り。ワードプレスのカスタム投稿タイプの一覧をドロップダウンメニューで表示、各項目を選択するとそれぞれのページにリンクするさせる方法を紹介します。
テンプレートファイルの、メニューを表示させたい箇所に、以下のPHPコードを記入してください。
「custom-posts」は自身のカスタム投稿タイプのスラッグに書き換えてください。
<select name="custompost-dropdown" onchange='document.location.href=this.options[this.selectedIndex].value;'> <option>店舗を選択</option> <?php $args = array( 'numberposts' => -1, 'post_type' => 'custom-posts' // カスタム投稿タイプを指定 ); $customPosts = get_posts($args); if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post ); ?> <option value="<?php the_permalink(); ?>"><?php the_title_attribute(); ?></option> <?php endforeach; ?> <?php endif; ?> <?php wp_reset_postdata(); ?> </select>
まずは get_posts
で情報を取得。引数の post_type
で該当するカスタム投稿タイプを指定。
ここまでできれば、あとはセレクトボックスを作って、ループを回して option 要素に必要な要素を挿入するカタチで実現できます。
ウェブサイトのサイドバーなどで活用できるテクニックですね。
ぜひお試しください。