Создайте раскрывающийся список с пользовательскими типами записей в качестве опции в admin


Мне нужно создать выпадающее меню с опцией "сообщения из пользовательского типа сообщений".

Этот раскрывающийся список будет размещен в виде пользовательского мета-поля.

Например, я хочу, чтобы все сообщения с пользовательским типом "Видео" были выбраны в качестве опции в поле "Выбрать".

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

Спасибо

Author: Steffi, 2011-12-15

4 answers

Вот код, который я использую в проекте, над которым работаю.

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 используется в качестве имени и идентификатора выбора, $post_type - это тип, который вы хотите включить в выбор, и $selected - идентификатор записи, который вы хотите выбрать в поле выбора.

 4
Author: Manny Fleurmond, 2011-12-16 06:47:59
wp_dropdown_pages(array('post_type'=>'video'));

См.: http://codex.wordpress.org/Function_Reference/wp_dropdown_pages

 8
Author: skeg64, 2012-01-06 08:24:04

Если вы уже знаете, как создать пользовательский мета-блок, вы можете использовать

  wp_dropdown_categories(); 

Может быть, так:

wp_dropdown_categories('taxonomy=your_texonomy&hide_empty=0&orderby=name&name=types&show_option_none=Select type);
 1
Author: krembo99, 2011-12-16 05:12:30

Поскольку мой последний ответ рассматривался скорее как вопрос. Я отвечу более подробным ответом. Вы можете использовать плагин Magic Fields 2 (обратите внимание на 2, потому что это другой, но улучшенный плагин). Вы можете выбрать поле "связанный тип" в полях администратора, которые они предлагают. Конечно, вы все еще можете узнать, как это делается в этом плагине, если хотите создать эту функцию самостоятельно, но, по крайней мере, есть кто-то, кто это понял.

 0
Author: Sjoerd, 2013-12-13 15:45:06