Cum să exporți și să imporți taxonomii (categorie, etichetă și/sau taxonomie personalizată) și termenii lor

25 nov. 2011, 19:22:37
Vizualizări: 45.3K
Voturi: 11

Vreau să export toate categoriile WordPress (fără articole, doar categoriile) de pe un blog pe altul. Cum pot face asta?

4
Comentarii

Ai încercat să accesezi Manage>Export din panoul de administrare al blogului?

User User
25 nov. 2011 19:40:18

Nu există meniul Manage, există doar meniul Tools/Export, dar nu îmi permite să exportez doar categorii

chubbyk chubbyk
25 nov. 2011 19:44:49

Îmi pare rău pentru asta, am citit informația de pe un blog online. Ai putea să faci asta direct la nivel de bază de date?

User User
25 nov. 2011 19:59:46

Dacă ai nevoie de o soluție simplă, încearcă pluginul Export Categories. https://wordpress.org/plugins/export-categories/

User User
17 oct. 2016 09:50:27
Toate răspunsurile la întrebare 7
1

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!

29 apr. 2014 21:02:12
Comentarii

Rețineți că acest lucru nu va adăuga o ierarhie categoriilor care au fost deja create. Va atribui doar categorii părinte subcategoriilor care nu există deja.

Zade Zade
10 oct. 2019 09:09:39
0

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

26 ian. 2012 01:15:36
0

Nu poți exporta doar categorii (sau taxonomii în general). Exportează tot conținutul folosind Instrumente/Export și poți șterge conținutul în afară de categorii din fișierul xml.

26 nov. 2011 01:53:46
0

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.

28 nov. 2011 04:26:48
1

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.

30 mar. 2014 13:08:44
Comentarii

mersi, a funcționat perfect la mine.

Nikhil VJ Nikhil VJ
15 sept. 2019 21:03:18
0

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

6 ian. 2022 14:32:54
0

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!

14 iun. 2023 03:52:28