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

4

Je dois créer un menu déroulant avec " publications " à partir d'un type de publication personnalisé "en tant qu'option.

Ce menu déroulant sera placé 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

    
posée Steffi 15.12.2011 - 14:31

5 réponses

3

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

    
réponse donnée Manny Fleurmond 16.12.2011 - 07:47
6
wp_dropdown_pages(array('post_type'=>'video'));

Voir: enlace

    
réponse donnée skeg64 06.01.2012 - 09:24
1

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);
    
réponse donnée krembo99 16.12.2011 - 06:12
0

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 lié' dans les boîtes d'administration qu'ils proposent. Bien sûr, vous pouvez toujours savoir 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.

    
réponse donnée Sjoerd 13.12.2013 - 16:45
-1

Il est important que votre type de publication personnalisé soit hiérarchique, comme indiqué dans enlace ou que cela ne fonctionne pas.

add_action('restrict_manage_posts', function () {

    $args = [
        'post_type' => 'your_custom_post_type',
    ];

    wp_dropdown_pages($args);

});
    
réponse donnée Nejch 13.12.2017 - 10:01

Lire d'autres questions sur les étiquettes