Перечислите пользовательские типы публикаций в выпадании
-
22-10-2019 - |
Вопрос
У меня есть три пользовательских типа публикаций, каждый из которых имеет около 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>';
?>