Lista de publicaciones personalizadas en el menú desplegable
-
22-10-2019 - |
Pregunta
Tengo tres tipos de publicación personalizados, cada uno con alrededor de 5 taxonomías y 2 de los tipos de publicación personalizados comparten dos taxonomías.
Casi tengo todo configurado para publicar desde la parte delantera que no sea la parte de un menú desplegable para mostrar el post_types.
Como ahora es la publicación de front -end funciona, pero las URL están rotas porque no tienen el tipo de publicación personalizado en ellas, he buscado por todas partes y puedo encontrar cero en el listado de tipos de publicaciones personalizadas ... ¿se puede hacer?
Saludos Martin
Editar: solo tropezé con esto en Codex,,
Solución
Perdón por eso se siente un poco raro respondiendo a la propia pregunta, pero aquí vas ...
En primer lugar, declare la variable: (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']);
En segundo lugar, la matriz para agregar la publicación:
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);
y finalmente cree el dropdrown desde la función 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>';
?>