web-dev-qa-db-fra.com

Créer une liste déroulante avec les types de publication personnalisés en tant qu'option dans admin

J'ai besoin de créer un menu déroulant avec " posts à partir d'un type de post personnalisé" en tant qu'option.

Cette liste déroulante sera placée en tant que méta-boîte personnalisée.

Par exemple, je veux toutes les publications avec le type personnalisé "Vidéo" comme option dans la sélection.

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

Merci

4
Steffi

Voici le code que j'utilise dans un projet sur lequel je travaille.

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 est utilisé en tant que nom et id de la sélection, $post_type est le type que vous souhaitez définir dans la sélection et $selected est l'identifiant de publication que vous souhaitez sélectionner dans la zone de sélection.

3
Manny Fleurmond
wp_dropdown_pages(array('post_type'=>'video'));

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

6
skeg64

Si vous savez déjà comment créer la méta-boîte personnalisée, vous pouvez utiliser

  wp_dropdown_categories(); 

peut-être comme ça:

wp_dropdown_categories('taxonomy=your_texonomy&hide_empty=0&orderby=name&name=types&show_option_none=Select type);
1
krembo99

Depuis ma dernière réponse a été considérée plus d'une question. Je vais répondre avec plus d'une réponse. Vous pouvez utiliser le plugin Magic Fields 2 (notez le 2 car il s’agit d’un plugin différent mais amélioré). Vous pouvez choisir un champ "type associé" dans les boîtes d’administrateur qu’ils offrent. Bien sûr, vous pouvez toujours expliquer comment cela fonctionne dans ce plugin si vous voulez créer cette fonction vous-même, mais au moins, il y a quelqu'un qui l'a compris.

0
Sjoerd