Cómo exportar e importar taxonomías (categoría, etiqueta y / o taxonomía personalizada) y sus términos


10

Quiero exportar todas las categorías de Wordpress (sin publicaciones, solo categorías) de un blog a otro. Cómo puedo hacer eso ?


¿Has intentado acceder a Administrar> Exportar desde el panel de administración del blog?

No hay un menú Administrar, solo hay un menú Herramientas / Exportar, pero no me permite exportar solo categorías
chubbyk

Lo siento, lo leí en un blog en línea. ¿Podría hacer eso desde el nivel de la base de datos?

Si necesita un esfuerzo simple, pruebe el complemento Exportar categorías . wordpress.org/plugins/export-categories

Respuestas:


5

Esta respuesta es esencialmente la misma que la de Ünsal, pero me gustaría explicar un poco porque a pesar de estar en lo cierto, su respuesta no me ayudó (solo estaba tratando de recordar lo que había hecho en el pasado, debería haber leído su más cuidadosamente y lo habría descubierto, pero creo que para otros sería útil una descripción completa).

Para exportar la jerarquía de categoría completa, debe exportar "Todo el contenido"

Cualquier otra opción no le dará los datos completos (por ejemplo, exportar una publicación con todas las categorías etiquetadas funciona principalmente, pero pierde todos los datos de parentesco / jerarquía sobre taxonomías que son jerárquicas).

Cuando exporta "Todo el contenido", el archivo resultante tiene una sección con datos sobre sus términos. Si revisa el archivo, debería ser bastante fácil de encontrar, después de los autores y antes de los "elementos" (es decir, publicaciones).

Puede importar esto y eliminar contenido si es una opción *

Importar el archivo completo replicará perfectamente la jerarquía de taxonomía, pero obviamente también importará todas las páginas y publicaciones. Si no hay demasiados, considere eliminarlos a mano. No tomará tanto tiempo si lo hace de forma masiva y hay menos de cientos (recuerde que puede usar las Opciones de pantalla en la pantalla Editar publicaciones para mostrar más de lo predeterminado y, por lo tanto, editar de forma masiva a la vez).

Si tiene demasiado contenido para eliminarlo, debe editar el archivo WXR a mano para eliminar todo menos los términos que desea conservar.

Edición del archivo WXR para eliminar contenido

Esto puede ser un poco complicado, pero en realidad si miras el contenido del archivo, no es tan difícil descubrir qué hace cada elemento. XML es como HTML con etiquetas, por lo que lo principal a tener en cuenta es que no elimine una etiqueta de cierre mientras deja la etiqueta de apertura, etc.

Encontrará que hay 1-3 tipos de definiciones de términos en el WXR, un tipo para Categorías, uno para "etiquetas" y otro para "términos". Las "taxonomías personalizadas" usan términos, mientras que las categorías y etiquetas antiguas tienen su propio formato especial.

EJEMPLO DE CATEGORIA

<wp:category><wp:term_id>8880</wp:term_id><wp:category_nicename>runner-up-proposals</wp:category_nicename><wp:category_parent>second-round-proposals</wp:category_parent><wp:cat_name><![CDATA[Runner-up Proposals]]></wp:cat_name></wp:category>

EJEMPLO DE ETIQUETA

<wp:tag><wp:term_id>122</wp:term_id><wp:tag_slug>ave-maria</wp:tag_slug><wp:tag_name><![CDATA[Ave Maria]]></wp:tag_name></wp:tag>

EJEMPLO DE TÉRMINO DE TAXONOMÍA PERSONALIZADA

<wp:term><wp:term_id>8579</wp:term_id><wp:term_taxonomy>gv_tools</wp:term_taxonomy><wp:term_slug>digital-video</wp:term_slug><wp:term_parent></wp:term_parent><wp:term_name><![CDATA[Digital Video]]></wp:term_name></wp:term>

Entonces, lo que desea hacer es eliminar todo el contenido que no sean estas etiquetas de categoría / etiqueta / término del archivo WXR. A saber wp: etiquetas de autor que vienen antes y las muchas etiquetas de elementos que vienen después. Lo más importante: ¡No elimine las etiquetas de cierre / canal y / rss en la parte inferior! Sin ellos, el XML no se validará.

OBVIAMENTE probará los resultados de importar su archivo editado antes de usarlo en un sitio web en vivo. Intente importarlo en una instalación nueva localmente y vea si falla completamente, luego verifique la pantalla de listado de categorías en wp-admin y asegúrese de que todo esté exactamente como esperaba.

¡Buena suerte!


1
Tenga en cuenta que esto no agregará una jerarquía a las categorías que ya se han creado. Solo asignará categorías principales a subcategorías que aún no existen.
Zade

4

Resolví este problema con 2 consultas.

Esta no es la mejor manera, supongo, pero seguramente no es la más segura . Además, supone que está trabajando en la misma base de datos (si este no es el caso, puede exportar fácilmente la consulta y luego importarla a otra base de datos).

Lo he usado en una instalación vacía de WordPress:

1 - Importar los términos de la categoría:

INSERT INTO newwp_terms
SELECT te.*
  FROM oldwp_terms te
  JOIN oldwp_term_taxonomy ta
    ON te.term_id = ta.term_id
 WHERE ta.taxonomy = 'category'
 ;

2 - Importar categorías, relaciones y descripciones

INSERT INTO newwp_term_taxonomy
SELECT term_taxonomy_id,term_id,taxonomy,description,parent,0
  FROM oldwp_term_taxonomy ta
  WHERE ta.term_taxonomy_id IN
          (
           SELECT ta2.term_taxonomy_id
             FROM oldwp_terms te
             JOIN oldwp_term_taxonomy ta2
               ON te.term_id = ta2.term_id
            WHERE ta.taxonomy = 'category'
         )
  ;

[A] nyway se newwp_refiere a la tabla en la que desea importar, mientras que se oldwp_refiere a la tabla fuente


2

No puede exportar solo categorías (o taxonomías en general). Simplemente exporte todo el contenido con Herramientas / Exportar y puede eliminar el contenido, excepto las categorías de xml.


2

¿Cuál es tu objetivo final aquí? ¿Solo para obtener una lista de categorías de un blog a otro? ¿O está intentando mover todo el contenido con una categoría o categorías a otra instalación de WordPress?

Es un poco feo, pero puede exportar todo el contenido, luego simplemente eliminar el contenido dentro de las categorías o eliminar las categorías que no desea. Probablemente sea una de las formas más rápidas de alcanzar su objetivo.


2

Si tiene acceso a las tablas de la base de datos, puede hacer una exportación de volcado mysql de las tablas wp_term_relationships, wp_term_taxonomy, wp_terms e importarlas en la nueva instalación de wordpress. Acabo de hacer esto entre dos instalaciones de WP con más de 300 categorías y funcionó bien.


gracias, esto funcionó bien por mi parte.
Nikhil VJ
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.