Перечислите пользовательские типы публикаций в выпадании

wordpress.stackexchange https://wordpress.stackexchange.com/questions/18159

Вопрос

У меня есть три пользовательских типа публикаций, каждый из которых имеет около 5 таксономий и 2 пользовательских типа Post, в которых есть две таксономии.

Я почти все настроил для публикации с передней части, кроме части раскрывающегося списка, чтобы показать post_types.

Поскольку теперь это работает передняя часть публикации, но URL -адреса разбиты, потому что у них нет пользовательского типа поста, я искал повсюду и могу найти ноль при перечислении пользовательских типов постов ... Можно ли это сделать?

С уважением Мартин

РЕДАКТИРОВАТЬ: Просто наткнулся на это в кодексе,,

Это было полезно?

Решение

Извините за это немного странно, отвечая на собственный вопрос, но вот и ...

Во -первых, объявить переменную: (CustomCategory)

global $userdata;

$errors = array();

$title      = trim($_POST['wpuf_post_title']);
$customcategory      = trim($_POST['customcategory']);
$content    = trim($_POST['wpuf_post_content']);
$tags       = wpuf_clean_tags($_POST['wpuf_post_tags']);
$cat        = trim($_POST['cat']);

Во -вторых, массив для добавления сообщения:

 if (!$errors) {
    $frontend_post = array(
            'post_title'    => $title,
            'post_content'  => $content,
            'post_status'   => $post_status,
            'post_author'   => $userdata->ID,
            'post_category'    =>    array($_POST['cat']),
            'post_type' => $customcategory,
            'tags_input'    => $tags
    );

    $post_id = wp_insert_post($frontend_post);

и, наконец, создайте Dropdrown из функции get_post_types:

<?php 
          $args=array(
                     'public'   => true,
                     '_builtin' => false
                     ); 
                $output = 'names';
                $operator = 'and';
                $post_types=get_post_types($args,$output,$operator); 

          echo '<select name="customcategory">';
          foreach ($post_types  as $post_type ) {
          echo '<option value="'. $post_type.'">'. $post_type. '</option>';
}echo '</select>';
?>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с wordpress.stackexchange
scroll top