Creează un dropdown cu Custom Post Types ca opțiune în admin

15 dec. 2011, 15:31:10
Vizualizări: 29.3K
Voturi: 5

Am nevoie să creez un meniu dropdown cu "postări dintr-un custom post type" ca opțiuni.

Acest dropdown va fi plasat ca meta box personalizat.

De exemplu, vreau toate postările cu tipul personalizat "Video" ca opțiuni în select.

<select>
   <option>titlu postare nr.1<option>
   <option>titlu postare nr.2<option>
   ....
</select>

Mulțumesc

1
Comentarii

Unde doriți să apară această cutie meta? Adică pe ce pagină?

Rutwick Gangurde Rutwick Gangurde
16 dec. 2011 07:20:27
Toate răspunsurile la întrebare 4
3
wp_dropdown_pages(array('post_type'=>'video'));

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

6 ian. 2012 10:24:04
Comentarii

Nu funcționează întotdeauna, conform linkului oferit de tine.

random_user_name random_user_name
20 mar. 2015 15:36:47

Funcționează doar pentru tipurile de postări ierarhice

Leo Germani Leo Germani
17 ian. 2019 15:48:50

Cum se poate afișa opțiunea de a selecta TOATE tipurile de postări în această listă derulantă?

Juraj Juraj
4 apr. 2021 12:38:23
0

Iată codul pe care îl folosesc într-un proiect la care lucrez.

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

$select_id este utilizat ca nume și ID pentru select, $post_type este tipul pe care doriți să-l transformați într-un select și $selected este ID-ul postării pe care doriți să o selectați în caseta de selectare.

16 dec. 2011 08:47:59
1

Dacă știi deja cum să creezi o cutie meta personalizată, poți folosi funcția:

  wp_dropdown_categories(); 

de exemplu astfel:

wp_dropdown_categories('taxonomy=your_texonomy&hide_empty=0&orderby=name&name=types&show_option_none=Selectează tipul);
16 dec. 2011 07:12:30
Comentarii

wp_dropdown_categories afișează categorii, nu tipuri de postări cum a cerut @Steffi.

Manny Fleurmond Manny Fleurmond
16 dec. 2011 08:26:00
0

Deoarece ultimul meu răspuns a fost considerat mai mult o întrebare, voi răspunde cu un răspuns mai detaliat. Puteți folosi plugin-ul Magic Fields 2 (observați cifra 2 deoarece este un plugin diferit, dar îmbunătățit). Puteți alege un câmp de tip 'related type' din cutiile administrative pe care le oferă. Desigur, încă puteți analiza cum este implementat în acest plugin dacă doriți să creați această funcționalitate singur, dar măcar există cineva care a rezolvat deja problema.

13 dec. 2013 17:45:06