Creare un menu a tendina con Post Types personalizzati come opzione nell'admin

15 dic 2011, 15:31:10
Visualizzazioni: 29.3K
Voti: 5

Ho bisogno di creare un menu a tendina con "post da un custom post type" come opzioni.

Questo menu a tendina sarà posizionato come meta box personalizzato.

Per esempio, voglio tutti i post con il tipo personalizzato "Video" come opzioni nel select.

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

Grazie

1
Commenti

Dove vuoi che appaia questo metabox? Intendo su quale pagina?

Rutwick Gangurde Rutwick Gangurde
16 dic 2011 07:20:27
Tutte le risposte alla domanda 4
3
wp_dropdown_pages(array('post_type'=>'video'));

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

6 gen 2012 10:24:04
Commenti

Non funziona sempre, come indicato nel link fornito.

random_user_name random_user_name
20 mar 2015 15:36:47

Funziona solo per i tipi di post gerarchici

Leo Germani Leo Germani
17 gen 2019 15:48:50

Come visualizzare l'opzione per selezionare TUTTI i tipi di post in questo menu a discesa?

Juraj Juraj
4 apr 2021 12:38:23
0

Ecco il codice che sto utilizzando in un progetto su cui sto lavorando.

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 = "" >Tutti i '.$label.' </option>';
        foreach ($posts as $post) {
            echo '<option value="', $post->ID, '"', $selected == $post->ID ? ' selected="selected"' : '', '>', $post->post_title, '</option>';
        }
        echo '</select>';
    }

$select_id viene utilizzato come nome e id del select, $post_type è il tipo che vuoi venga trasformato nel select e $selected è l'id del post che vuoi sia selezionato nella casella select.

16 dic 2011 08:47:59
1

Se già sai come creare una meta box personalizzata, puoi utilizzare

  wp_dropdown_categories(); 

ad esempio così:

wp_dropdown_categories('taxonomy=your_texonomy&hide_empty=0&orderby=name&name=types&show_option_none=Seleziona tipo');
16 dic 2011 07:12:30
Commenti

wp_dropdown_categories mostra le categorie, non i tipi di post come chiesto da @Steffi.

Manny Fleurmond Manny Fleurmond
16 dic 2011 08:26:00
0

Dato che la mia ultima risposta è stata considerata più una domanda, risponderò con una risposta più completa. Potresti utilizzare il plugin Magic Fields 2 (nota il 2 perché si tratta di un plugin diverso ma migliorato). Dall'interfaccia di amministrazione puoi selezionare un campo di tipo 'related type' tra quelli disponibili. Naturalmente, se preferisci, puoi sempre studiare come viene implementato in questo plugin qualora volessi creare questa funzione da solo, ma almeno c'è qualcuno che ha già trovato una soluzione.

13 dic 2013 17:45:06