Categorías: Tutoriales

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.

F. Javier Carazo Gil

Cofundador de CODECTION, empresa especializada en WordPress, autor de un libro sobre WordPress (el primero en español) y multitud de artículos (en medios físicos y virtuales) sobre el tema. Participa en la comunidad WordPress de forma activa siendo parte del equipo organizador de la WordPress Meetup de Córdoba, dando charlas en diferentes WordCamp y siendo autor y coautor de multitud de plugins libres y premium para WordPress de gran éxito.

Ver comentarios

  • si sencillo amigo, y después como le haces para insertar una imagen y galeria en ese mismo post

    • Tendrías que sacar un wp_editor() y eso no es tan sencillo, más que nada, porque en el front-end es más problemático.

      ¿Necesitas algo así?

      • Ya con wp_insert_post, y mi detalle es ese despues como inserto una imagen como destacada y una galeria en el mismo post.

        • Claro, con esa orden podrías hacerlo pero para poder llevar a insertar la imagen destacada y una galería necesitarías al menos:
          1) poder subir imágenes
          2) generar el shortcode de la galería

          Y eso no es tan sencillo.

Entradas recientes

Sin batería

8 horas hace

432 CVEs

7 días hace

Anti-IA

2 semanas hace

Memoria

3 semanas hace

Mal uso

4 semanas hace

Precio de la RAM

1 mes hace