Exportar tags de Wordpress

suaveSHOW

Buenas, estaba pasando la base de datos de wordpress a otro sistema que estoy haciendo, he pasado las entradas, los comentarios y los usuarios, hasta ahí todo bien.

El problema viene a la hora de sacar los tags que no están en la BD en ninguna tabla, aparentemente.

Alguien sabe como va el sistema para almacenar los tags de cada entrada? (Todo esto con el fin de no ir añadiendo yo tag por tag porque son muchas entradas)

Saludos.

EDIT: He visto una tabla que se llama PREFIJO_term_taxonomy que contiene una columna llamada "taxonomy" y casi todas con el valor "post_tag" y luego otra columna llamada "count", es posible que lo que haga es coger la palabra numero "valor de count" del post al que pertenece?

NeB1

#1 No. Esa tabla tiene un term_taxonomy_id si te vas a prefijo_term_taxonomy_relationship se relaciona cada term_taxonomy con la ID de un post. La tabla prefijo_term_taxonomy_relationship tiene 3 columnas que son (object_id, term_taxonomy_id,term_order) donde object_id es la id del post (o de la página o de cualquier tipo de contenido) y term_taxonomy_id es una 'taxonomía' con la que está relacionado.

1 respuesta
suaveSHOW

#2 NeB1, eso ya lo vi, mi problem es que no se como hallar la palabra que es tag,es como yo he dicho que cuenta las palabras?

1 respuesta
NeB1

#3 ostras te había leído mal xD creo que el count índica la cantidad de posts que hay asociados a esa categoría

#3 mirate esto: http://www.radicalbehavior.com/copy-categories-to-tags-the-plugin/

eXtreM3

Leete esto seguro que te sirve

http://www.mediavida.com/foro/9/duda-chunga-wordpress-409472

En 1 hora o así voy a estar en mi portatil y si quieres puedo ponerte la consulta mysql para sacar los tags de una noticia, pero creo que lo sacarás tú solo a partir de esa información ;)

edit: no me acuerdo de memoria, pero para sakar los tags de cada post tenias que relacionar las 4 tablas en el FROM

SELECT noseke FROM wp_posts, wp_terms, wp_term_taxonomy, wp_term_relationships WHERE blabla

Bueno y resolviendo tu duda, que no sabias sakar los tags, justo lo que me pasó a mi, en la tabla wp_term_taxonomy, el campo taxonomy te dice si una palabra de la tabla wp_terms es category o post_tag, ahí tienes la solución.

eXtreM3

Aquí estoy de nuevo #1, mira te explico lo que yo tengo. En una página muestro todas los posts ok? Y debajo de cada post muestro las etiquetas de cada post (si tiene), entonces, primero hago un bucle while que saque todas las noticias (esto sabes hacerlo supongo) y dentro de dicho bucle, esto

SELECT wp_terms.term_id, wp_terms.name, wp_terms.slug FROM wp_terms, wp_term_taxonomy, wp_term_relationships, wp_posts WHERE wp_terms.term_id = wp_term_taxonomy.term_id AND wp_term_relationships.object_id = wp_posts.ID AND wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id AND wp_term_relationships.object_id = $row[0] AND wp_term_taxonomy.taxonomy = 'post_tag' AND wp_terms.term_id > 2 ORDER BY wp_terms.name ASC
  • mi $row[0] es la ID de cada post de la tabla wp_posts
  • lo del wp_terms.term_id > 2 es para que no coja ni la "sin categoria" ni la "enlaces de interes", a partir de la 2 son las que uno cree propias.
  • y la clave es esto wp_term_taxonomy.taxonomy = 'post_tag'

any question? ^^

En ese select estoy sakando la id, el nombre y el slug de cada tag.

suaveSHOW

No me ha quedado muy claro, ya conseguí lo que quería, hice una chapuza para que en vez de mostrar las entradas mostrara solo esto "ID de entrada"|tag,tag,tag,tag

Mediante unos explodes y bucles for ya he conseguido hacer el traspaso.

Usuarios habituales

  • suaveSHOW
  • eXtreM3
  • NeB1