WordPress está pensado para que uno o varios autores introduzcan entradas en él. Y despues los usuarios puedan comentar estas entradas, pero previamente estas deben estar introducidas sinó, el concepto Blog en sí, no tiene ningún sentido. Pero WordPress va un poco más allá y nos permite hacer que el sistema de insercción de entradas no esté, necesariamente, vinculado al WordPress.
Para ello, tenemos la función wp_insert_post()
, una función a la que le pasaremos los parámetros que compondrán una entrada en nuestro Blog.
Los chicos de WPEngineer.com hacen un repaso a estos parámetros y nos muestran un sistema muy sencillo de realizar insercciones ajenas a nuestro Blog. Está claro que este sistema es peligroso, y que requiere que el usuario esté logueado para realizar la insercción.
wp_insert_post()
wp_insert_post($postarr = array())
Vemos que esta función recibe un parámetro, un array que estará compuesto con los parámetros necesarios para formar una entrada.
Los valores de este parámetro pueden ser:
<?php
$post = array(
'comment_status' => [ 'closed' | 'open' ] // 'closed' no permite comentarios.
'ID' => [ <post id> ] // únicamente si estamos actualizando un comentario.
'menu_order' => [ <order> ] //Si es una nueva página, especifica el orden en el que debería aparecer
'page_template => [ <template file> ] // Indica el template para la página.
'ping_status' => [ ? ] // Activamos o desactivamos los pingbacks
'pinged' => [ ? ] //?
'post_author' => [ <user ID> ] //ID del usuario
'post_category => [ array(<category id>, <...>) ] // Categorías del post.
'post_content' => [ <the text of the post> ] // Contenido del post.
'post_date' => [ Y-m-d H:i:s ] // Fecha de creación del post.
'post_date_gmt' => [ Y-m-d H:i:s ] // Fecha de creación en GMT.
'post_excerpt' => [ <an excerpt> ] // El resumen del post.
'post_parent' => [ <post ID> ] // El post padre.
'post_password' => [ ? ] // El password del post.
'post_status' => [ 'draft' | 'publish' | 'pending' ] // Estado de la publicación
'post_title' => [ <the title> ] // Título del post.
'post_type' => [ 'post' | 'page' ] // Post o Página.
'tags_input' => [ '<tag>, <tag>, <...>' ] // Tags asociados al post.
'to_ping' => [ ? ] //?
);
// Insertamos el post
wp_insert_post( $post );
?>
Conociendo esto, ya podemos usar funcionalidades de WordPress fuera de WordPress.
// Incluimos las funcionalidades de WordPress
require( '../my_wordpress_install_root/wp-load.php' );
// Creamos el array
$my_post = array();
$my_post['post_title'] = 'Mi post';
$my_post['post_content'] = 'This is my post.';
$my_post['post_status'] = 'publish';
$my_post['post_author'] = 1;
$my_post['post_category'] = array(0);
// Insertamos el post en la base de datos
wp_insert_post( $my_post );"
6 comentarios, 0 referencias
+
#