I have a custom post type, Doctors, that I need to create a dropdown nav for. I just want it to populate a select list with all the posts of that CPT and navigate to that post on selection.
I’m doing a couple other dropdowns with wp_dropdown_categories, but I guess there’s no built in function for listing a post type?
You’ll need to use get_posts
and roll your own drop down.
Something like this (somewhere in functions.php
):
<?php
function wpse34320_type_dropdown( $post_type )
{
$posts = get_posts(
array(
'post_type' => $post_type,
'numberposts' => -1
)
);
if( ! $posts ) return;
$out="<select id="wpse34320_select"><option>Select a Doctor</option>";
foreach( $posts as $p )
{
$out .= '<option value="' . get_permalink( $p ) . '">' . esc_html( $p->post_title ) . '</option>';
}
$out .= '</select>';
return $out;
}
Then in your template…
<?php echo wpse34320_type_dropdown( 'doctors' ); ?>