X

Cambiar el tipo de Taxonomía en WordPress

¿Sabías que puedes pasar tus etiquetas a categorías, o viceversa?, en este artículo veremos cómo cambiar el tipo de taxonomía de manera simple a través de modificaciones en la base de datos.

 

Generalidades

WordPress almacena el tipo de taxonomía en la tabla wp_term_taxonomy en la columna llamada taxonomy, por lo tanto para cambiar el tipo de taxonomía sólo sería necesario cambiar el valor de ese campo.

 

Localizando las taxonomías del sitio

Las taxonomías con las que WordPress viene por defecto son:

  • category = categorías
  • post_tag = etiquetas

 
Pero tu sitio puede tener varias otras taxonomías, necesitas conocer el nombre de la taxonomía antes de hacer cambios.

Para identificar qué taxonomías tienes en tu sitio, puedes ejecutar la siguiente consulta SQL:


SELECT DISTINCT taxonomy FROM wp_term_taxonomy;

Cambia wp_ por el prefijo de tablas que tengas configurado.

La siguiente imagen muestra una lista de los tipos de taxonomías de un sitio web de ejemplo tras ejecutar la consulta SQL.

Si quieres aprender qué son y cómo usar las taxonomías revisa el artículo: Aprende a usar Taxonomías en WordPress

 

Cambiar etiquetas a categorías o categorías a etiquetas

En el caso de etiquetas y categorías ya tenemos identificados los nombres de las taxonomías (post_tag, category), por lo que sólo sería necesario tener los términos que queremos cambiar.

Asumiendo que el término ‘noticias’ es una etiqueta la pasaremos a categorías con la siguiente consulta SQL


UPDATE wp_term_taxonomy tt
INNER JOIN wp_terms t ON t.term_id = tt.term_id
SET tt.taxonomy = 'category'
WHERE t.name in ('noticias');

Asumiendo que el término ‘noticias’ es una categoría la pasaremos a etiquetas con la siguiente consulta SQL


UPDATE wp_term_taxonomy tt
INNER JOIN wp_terms t ON t.term_id = tt.term_id
SET tt.taxonomy = 'post_tag'
WHERE t.name in ('noticias');

 

Cambiar a cualquier tipo de taxonomía

En realidad el código anterior sirve para cambiar un término a cualquier tipo de taxonomía, sólo habria que reemplazar las XXX por el nombre de alguna taxonomía disponibles en tu sitio.


UPDATE wp_term_taxonomy tt
INNER JOIN wp_terms t ON t.term_id = tt.term_id
SET tt.taxonomy = 'XXX'
WHERE t.name in ('noticias');

Puedes colocar más términos junto con ‘noticas’, separados por una coma

 

Conclusión

Tal como hemos visto, es posible cambiar el tipo de taxonomía de un determinado término, directamente a través de la base de datos y evitar hacerlo a través de un plugin.

 

Categorías: Core
Etiquetas: funcionalidad

Ver comentarios (2)

  • Buenas,
    Entonces, si quiero cambiar una categoría por defecto de Wordpress con 50 entradas, y traspasarlo a una taxonomía creada con Custom Post Type, el contenido se moverá a esa taxonomía, o lo perderá?
    Si no, que forma hay para copiar y pegar un contenido de un sitio a otro?
    Muchas gracias!