Cum să exporți și să imporți taxonomii (categorie, etichetă și/sau taxonomie personalizată) și termenii lor
Acest răspuns este în esență același cu cel al lui Ünsal, dar aș dori să elaborez puțin deoarece, în ciuda faptului că are dreptate, răspunsul său nu m-a ajutat (eu încercam doar să-mi amintesc ce făcusem în trecut, ar fi trebuit să citesc mai atent și aș fi înțeles, dar cred că pentru alții o descriere completă ar fi utilă).
Pentru a exporta ierarhia completă de categorii, trebuie să exportați "Tot Conținutul"
Orice altă opțiune nu vă va oferi toate datele (de exemplu, exportarea unui articol cu toate categoriile asociate funcționează parțial, dar veți pierde toate datele despre părinți/ierarhie pentru taxonomiile care sunt ierarhice).
Când exportați "Tot Conținutul", fișierul rezultat va avea o secțiune cu date despre termenii dvs. Dacă parcurgeți fișierul, ar trebui să fie destul de ușor de găsit, după autori și înainte de "items" (adică postări).
Puteți importa acest fișier și apoi șterge conținutul dacă aceasta este o opțiune*
Importarea fișierului complet va replica perfect ierarhia taxonomiilor, dar va importa și toate paginile și postările. Dacă nu sunt prea multe, luați în considerare ștergerea lor manual. Nu va dura mult dacă o faceți în masă și sunt mai puțin de sute (nu uitați că puteți utiliza "Opțiuni de Ecran" pe pagina de Editare Postări pentru a afișa mai mult decât implicit și astfel puteți edita mai multe simultan).
Dacă aveți prea mult conținut pentru a-l șterge pe tot, atunci trebuie să editați manual fișierul WXR pentru a elimina totul, păstrând doar termenii pe care doriți să îi păstrați.
Editarea manuală a fișierului WXR pentru a elimina conținutul
Aceasta poate fi un pic complicată, dar dacă vă uitați la conținutul fișierului, nu este greu să înțelegeți ce face fiecare element. XML este asemănător cu HTML, cu taguri, deci principalul lucru de care trebuie să fiți atenți este să nu ștergeți un tag de închidere lăsând tagul de deschidere etc.
Veți descoperi că există 1-3 tipuri de definiții de termeni în WXR, un tip pentru Categorii, unul pentru "etichete" și unul pentru "termeni". "Taxonomiile personalizate" folosesc termeni, în timp ce categoriile și etichetele clasice au propriul lor format special.
EXEMPLU CATEGORIE
<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>
EXEMPLU ETICHETĂ
<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>
EXEMPLU TERMEN TAXONOMIE PERSONALIZATĂ
<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>
Deci, ceea ce trebuie să faceți este să eliminați tot conținutul din fișierul WXR, cu excepția acestor taguri de categorie/etichetă/termen. Adică tagurile wp:author care apar înainte și cele multe taguri item care apar după. Cel mai important: Nu eliminați tagurile de închidere /channel și /rss de la final! Fără ele, XML-ul nu va fi valid.
EVIDENT veți testa rezultatele importării fișierului editat înainte de a-l folosi pe un site live. Încercați să-l importați într-o instalare proaspătă local și verificați dacă eșuează complet, apoi verificați ecranul de listare a categoriilor în wp-admin și asigurați-vă că totul este exact așa cum vă așteptați.
Mult succes!

Am rezolvat această problemă cu 2 interogări.
Nu cred că aceasta este cea mai bună metodă, dar cu siguranță nu este cea mai sigură. În plus, presupune că lucrezi pe aceeași bază de date (dacă nu este cazul, poți exporta ușor interogarea și apoi importa într-o altă bază de date).
Am folosit-o pe o instalare WordPress goală:
1 - Import termenii categoriilor:
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 - Import relațiile și descrierile categoriilor
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'
)
;
Oricum, newwp_
se referă la tabela în care dorești să imporți, iar oldwp_
se referă la tabela sursă.

Care este scopul tău final aici? Doar să obții o listă de categorii de la un blog la altul? Sau încerci să muți tot conținutul dintr-o categorie sau categorii către o altă instanță WordPress?
E cam urât, dar ai putea exporta tot conținutul, apoi pur și simplu să ștergi conținutul din categoriile nedorite sau să ștergi categoriile pe care nu le dorești. Probabil ar fi una dintre metodele mai rapide pentru a-ți atinge scopul.

Dacă aveți acces la tabelele bazei de date, puteți face un export MySQL al tabelelor wp_term_relationships, wp_term_taxonomy și wp_terms, apoi le puteți importa în noua instalare WordPress. Tocmai am făcut acest lucru între două instalații WordPress cu peste 300 de categorii și a funcționat perfect.

După o cercetare îndelungată și încercarea multor plugin-uri, din păcate, niciunul nu a funcționat pentru mine. Totuși, am avut noroc ulterior când am dat peste un plugin care nu a fost actualizat de ani de zile, dar care a funcționat în cazul meu.
Numele plugin-ului: WP Export Categories & Taxonomies De timersys

Nu am mai fost programator de ceva vreme, așa că am găsit această metodă simplă pentru a obține toate etichetele de pe un site Wordpress. Mergi la Articole > Etichete și dă click și trage pentru a selecta toate etichetele și celelalte informații. Copiază și lipește într-un document Excel sau alt program de foi de calcul; datele se vor separa în mai multe coloane. A șasea coloană (slug) va conține eticheta separată de restul datelor de pe pagină. Pentru a elimina liniuțele, poți folosi funcția de căutare/înlocuire pentru a schimba liniuțele cu spații simple. Poate ai mai multe pagini cu etichete, dar nu va dura mult timp. Eu le introduc într-un program de AI pentru a elimina întoarceri la rând în plus sau pentru a le alfabetiza dacă adaug unele noi. Fac asta pentru a aduna resurse pentru munca de SEO. Cu siguranță acesta nu este un răspuns de programator, dar am găsit acest thread care avea nevoie de același răspuns, așa că în cazul în care cineva ca mine găsește asta, sper să fie de ajutor!
