Come esportare e importare le tassonomie (categoria, tag e / o tassonomia personalizzata) e i loro termini


10

Voglio esportare tutte le categorie di Wordpress (nessun post, solo categorie) da un blog a un altro. Come posso fare ciò ?


Hai provato ad accedere a Gestisci> Esporta dal pannello di amministrazione del blog.

Non esiste un menu Gestisci, esiste solo il menu Strumenti / Esporta ma non mi consente di esportare solo le categorie
paffuto

Scusatemi, l'ho letto da un blog online. Potresti farlo a livello di database?

Se hai bisogno di un semplice sforzo, prova il plug-in Esporta categorie . wordpress.org/plugins/export-categories

Risposte:


5

Questa risposta è essenzialmente la stessa di Ünsal, ma mi piacerebbe elaborare un po 'perché nonostante abbia ragione la sua risposta non mi ha aiutato (stavo solo cercando di ricordare cosa avevo fatto in passato, avrei dovuto leggere la sua più attentamente e l'avrei capito, ma penso che per altri sarebbe utile una descrizione completa).

Per esportare l'intera gerarchia di categorie è necessario esportare "Tutto il contenuto"

Qualsiasi altra opzione non ti fornirà tutti i dati (ad es. Esportare un post con tutte le categorie taggate funziona principalmente, ma perdi tutti i dati di parentela / gerarchia sulle tassonomie che sono gerarchiche).

Quando esporti "Tutto il contenuto", il file risultante ha una sezione con dati sui tuoi termini. Se guardi attraverso il file, dovrebbe essere abbastanza facile da trovare, dopo gli autori e prima di "elementi" (cioè post).

Puoi semplicemente importare questo ed eliminare il contenuto se questa è un'opzione *

L'importazione del file completo replicherà perfettamente la gerarchia della tassonomia, ma ovviamente importerà anche tutte le pagine e i post. Se non ce ne sono troppi, prendi in considerazione l'idea di eliminarli a mano. Non ci vorrà molto tempo se lo fai in blocco e ce ne sono meno di centinaia (ricorda che puoi usare le Opzioni dello schermo nella schermata Modifica post per mostrare più del predefinito e quindi modificare in blocco più alla volta).

Se hai troppi contenuti per rimuoverli tutti, devi modificare manualmente il file WXR per rimuovere tutto tranne i termini che desideri conservare.

Modifica del file WXR per rimuovere il contenuto

Questo può essere un po 'complicato, ma davvero se guardi il contenuto del file non è così difficile capire cosa fa ogni elemento. XML è come HTML con tag, quindi la cosa principale da fare attenzione è che non si elimina un tag di chiusura lasciando il tag di apertura ecc.

Scoprirai che ci sono 1-3 tipi di definizioni di termini nel WXR, un tipo per Categorie, uno per "tag" e uno per "termini". Le "tassonomie personalizzate" usano termini mentre le categorie e i tag vecchio stile hanno il loro formato speciale.

ESEMPIO DI 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>

ESEMPIO DI TAG

<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>

ESEMPIO DI TERMINE DELLA TASSONOMIA DOGANALE

<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>

Quindi quello che vuoi fare è rimuovere tutto il contenuto diverso da questi tag categoria / tag / termine dal file WXR. Vale a dire wp: tag autore che vengono prima e i numerosi tag oggetto che seguono. Ancora più importante: non rimuovere i tag di chiusura / channel e / rss in basso! Senza di essi l'XML non verrà convalidato.

OVVIAMENTE testerai i risultati dell'importazione del tuo file modificato prima di usarlo su un sito web live. Prova a importarlo in una nuova installazione localmente e vedi se fallisce completamente, quindi controlla la schermata di elenco delle categorie in wp-admin e assicurati che tutto sia esattamente come previsto.

In bocca al lupo!


1
Si noti che ciò non aggiungerà una gerarchia alle categorie che sono già state create. Assegnerà le categorie principali solo alle sottocategorie che non esistono già.
Zade,

4

Ho risolto questo problema con 2 query.

Questo non è il modo migliore suppongo, ma sicuramente non il più sicuro . Inoltre, si presuppone che si stia lavorando sullo stesso database (in caso contrario, è possibile esportare facilmente la query e quindi importare in un altro db).

L'ho usato su un'installazione wordpress vuota :

1 - Importa i termini della categoria:

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 - Importa le relazioni e le descrizioni delle categorie

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 si newwp_riferisce alla tabella in cui si desidera importare mentre si oldwp_riferisce alla tabella di origine


2

Non puoi esportare solo categorie (o tassonomie in generale). Basta esportare tutto il contenuto con Strumenti / Esporta ed è possibile eliminare il contenuto tranne le categorie da XML.


2

Qual è il tuo obiettivo finale qui? Solo per ottenere un elenco di categorie da un blog a un altro? Oppure, stai cercando di spostare tutto il contenuto in una o più categorie in un'altra installazione di WordPress?

È un po 'brutto, ma potresti esportare tutto il contenuto, quindi eliminare il contenuto all'interno delle categorie o eliminare le categorie che non desideri. Probabilmente sarebbe uno dei modi più veloci per raggiungere il tuo obiettivo.


2

Se hai accesso alle tabelle del database, puoi fare un'esportazione dump mysql delle tabelle wp_term_relationships, wp_term_taxonomy, wp_terms e importarle nella nuova installazione di wordpress. L'ho appena fatto tra due installazioni WP con oltre 300 categorie e ha funzionato bene.


grazie, questo ha funzionato bene dalla mia parte.
Nikhil VJ,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.