Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I need to create a dropdown menu with "posts from a custom post type" as option.

This dropdown will be placed as custom meta box.

For example, I want all posts with the custom type "Video" as option in the select.

<select>
   <option>post title n°1<option>
   <option>post title n°2<option>
   ....
</select>

Thanks

share|improve this question
1  
Where do you want this metabox to appear? I mean which page? –  Rutwick Gangurde Dec 16 '11 at 5:20

4 Answers 4

up vote 1 down vote accepted

Here is the code I'm using in a project I'm working on.

function generate_post_select($select_id, $post_type, $selected = 0) {
        $post_type_object = get_post_type_object($post_type);
        $label = $post_type_object->label;
        $posts = get_posts(array('post_type'=> $post_type, 'post_status'=> 'publish', 'suppress_filters' => false, 'posts_per_page'=>-1));
        echo '<select name="'. $select_id .'" id="'.$select_id.'">';
        echo '<option value = "" >All '.$label.' </option>';
        foreach ($posts as $post) {
            echo '<option value="', $post->ID, '"', $selected == $post->ID ? ' selected="selected"' : '', '>', $post->post_title, '</option>';
        }
        echo '</select>';
    }

$select_id is used as the name and id of the select, $post_type is the type you want to be made into the select and $selected is the post id you want selected in the select box.

share|improve this answer
wp_dropdown_pages(array('post_type'=>'video'));

See: http://codex.wordpress.org/Function_Reference/wp_dropdown_pages

share|improve this answer

If you already know how to make the custom meta box, you can use

  wp_dropdown_categories(); 

maybe like so :

wp_dropdown_categories('taxonomy=your_texonomy&hide_empty=0&orderby=name&name=types&show_option_none=Select type);
share|improve this answer
2  
wp_dropdown_categories shows categories, not post types as @Steffi asked for. –  Manny Fleurmond Dec 16 '11 at 6:26

Since my last answer was considered more of a question. I'll answer with more of an answer. You could use the Magic Fields plugin 2 (note the 2 because that is a different but improved plugin). You can choose a 'related type' field from the admin boxes they offer. Of course you still can excavate how it's done in this plugin if you want to create this function yourself, but at least there is somebody who figured it out.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.