oren hizkiya
Tengo contenido de otro lugar que me gustaría insertar como publicación en WordPress y luego asociarlo con una categoría existente. Es bastante sencillo insertar una nueva publicación en la tabla wp_posts, pero parece que no puedo descifrar cómo construir una consulta para insertar una nueva publicación y al mismo tiempo asociar la publicación con una categoría. ¿Cómo haría uno para hacer esto?
Si ayuda, estoy usando WordPress 2.8
Utilice esta consulta:
INSERT INTO wp_posts (post_title,post_content,post_name,post_date,post_date_gmt,post_modified,post_modified_gmt,post_author,post_status)
VALUES ('title','text','post_name',now(),now(),now(),now(),1,'publish')
INSERT INTO wp_term_relationships (object_id,term_taxonomy_id) VALUES ([the_id_of_above_post],1)
-
Gracias por deletrear las cosas.
– Oren Hizkiya
27 de julio de 2009 a las 13:49
Las categorías se almacenan en el wp_terms
tablas, con una referencia cruzada entre wp_posts
y wp_terms
almacenado en el wp_term_relationships table
.
Por lo tanto, primero debe insertar su publicación en el wp_posts
y luego, para cada una de las categorías existentes con las que desea asociarlas, inserte un registro en la wp_term_relationships
mesa.
Más información aquí: Descripción de la base de datos de WordPress
use la función wp_insert_post y luego use la función wp_set_post_categories
http://codex.wordpress.org/Function_Reference para información de uso
-
También está la versión extendida de la función de categorías de publicaciones, codex.wordpress.org/Function_Reference/wp_set_object_terms Ese también te permite establecer etiquetas, etc.
– Chaoley
12 de septiembre de 2011 a las 9:29
¿Quieres hacerlo con SQL o las funciones de WordPress también son aceptables?
– Eduardo Dale
23 de julio de 2009 a las 15:27
Cualquier cosa que funcione es aceptable. 🙂 Gracias.
– Oren Hizkiya
23 de julio de 2009 a las 15:39
Editar: en realidad, preferiría SQL para poder ejecutar un script fuera de wordpress. Envié mi comentario demasiado rápido.
– Oren Hizkiya
23 de julio de 2009 a las 15:41