Cómo insertar una entrada (o custom post types) desde el front end en WordPress
Como sabréis, junto a Javier Carazo y a través de Codection tenemos una línea de negocio con desarrollos a medida bajo WordPress, y es por ello que os traigo una vía para insertar un post o un CPT desde el front end, sin necesidad de entrar en el escritorio y sin hacer uso de ninguna extensión o plugin externo.
Nos basaremos en una plantilla () que asociaremos a una página (page) para que al acceder a ésta cargue el contenido. Es importante que tengamos en cuenta que esto es un código didáctico, es funcional pero no contempla medidas de seguridad salvo la que usemos restringiendo el acceso a la página. Lo recomendable sería hacer uso de nonce como medida de seguridad para evitar inyecciones desde el exterior.
$title, 'post_content' => $content, 'post_status' => 'publish', 'post_type' => $post_type ); $post_id = wp_insert_post($new_post); add_post_meta($post_id, 'campo', $campo, true); echo $post_id; } ?>
Bastante sencillo, ¿verdad?. En el ejemplo no hemos contemplado el tema, ni como advertimos antes medidas de seguridad. Si tratamos de buscarlo lo encontramos en un CPT de tipo ‘productos’.
El resultado:
Cuando hagamos click en ‘Enviar CPT’ aparecerá el post_id del nuevo post generado. Espero que os haya sido de ayuda.