Exportieren und Importieren von Taxonomien (Kategorie, Tag und / oder benutzerdefinierte Taxonomie) und deren Bedingungen


10

Ich möchte alle Wordpress-Kategorien (keine Beiträge, nur Kategorien) von einem Blog in ein anderes exportieren. Wie kann ich das machen ?


Haben Sie versucht, über das Admin-Panel des Blogs auf Verwalten> Exportieren zuzugreifen?

Es gibt kein Menü zum Verwalten, es gibt nur das Menü Extras / Exportieren, aber es erlaubt mir nicht, nur Kategorien zu exportieren
Chubbyk

Entschuldigung, ich habe das aus einem Online-Blog gelesen. Könnten Sie das auf Datenbankebene tun?

Wenn Sie einen einfachen Aufwand benötigen, versuchen Sie das Plugin Kategorien exportieren. wordpress.org/plugins/export-categories

Antworten:


5

Diese Antwort ist im Wesentlichen die gleiche wie die von Ünsal, aber ich möchte etwas näher darauf eingehen, denn obwohl er richtig war, hat mir seine Antwort nicht geholfen (ich habe nur versucht, mich daran zu erinnern, was ich in der Vergangenheit getan hatte, ich hätte seine lesen sollen sorgfältiger und ich hätte es herausgefunden, aber ich denke für andere wäre eine vollständige Beschreibung nützlich).

Um die vollständige Kategoriehierarchie zu exportieren, müssen Sie "Alle Inhalte" exportieren.

Bei jeder anderen Option erhalten Sie nicht die vollständigen Daten (z. B. funktioniert das Exportieren eines Beitrags mit allen markierten Kategorien meistens, aber Sie verlieren alle Abstammungs- / Hierarchiedaten zu hierarchischen Taxonomien).

Wenn Sie "Alle Inhalte" exportieren, enthält die resultierende Datei einen Abschnitt mit Daten zu Ihren Begriffen. Wenn Sie die Datei durchsehen, sollte sie leicht zu finden sein, nach Autoren und vor "Elementen" (dh Beiträgen).

Sie können dies einfach importieren und Inhalte löschen, wenn dies eine Option ist *

Durch das Importieren der vollständigen Datei wird die Taxonomie-Hierarchie perfekt repliziert, aber natürlich werden auch alle Seiten und Beiträge importiert. Wenn es nicht zu viele gibt, sollten Sie sie einfach von Hand löschen. Es dauert nicht so lange, wenn Sie es in großen Mengen ausführen und es weniger als Hunderte gibt (denken Sie daran, dass Sie die Bildschirmoptionen auf dem Bildschirm "Beiträge bearbeiten" verwenden können, um mehr als die Standardeinstellungen anzuzeigen und somit mehr in großen Mengen gleichzeitig zu bearbeiten).

Wenn Sie zu viel Inhalt haben, um alles zu entfernen, müssen Sie die WXR-Datei von Hand bearbeiten, um alles außer den Begriffen zu entfernen, die Sie behalten möchten.

Bearbeiten der WXR-Datei zum Entfernen von Inhalten

Dies kann etwas schwierig sein, aber wenn Sie sich den Inhalt der Datei ansehen, ist es nicht so schwer herauszufinden, was jedes Element tut. XML ist wie HTML mit Tags. Das Wichtigste ist also, dass Sie kein schließendes Tag löschen, während Sie das öffnende Tag usw. verlassen.

Sie werden feststellen, dass es im WXR 1-3 Arten von Begriffsdefinitionen gibt, einen Typ für Kategorien, einen für "Tags" und einen für "Begriffe". "Benutzerdefinierte Taxonomien" verwenden Begriffe, während altmodische Kategorien und Tags ein eigenes spezielles Format haben.

KATEGORIEBEISPIEL

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

TAG BEISPIEL

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

BENUTZERDEFINIERTES TAXONOMIE-BEGRIFFSBEISPIEL

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

Sie möchten also alle Inhalte außer diesen Kategorie- / Tag- / Term-Tags aus der WXR-Datei entfernen. Wp: Autoren-Tags, die vorher kommen, und die vielen Item-Tags, die danach kommen. Am wichtigsten: Entfernen Sie nicht die schließenden Tags / channel und / rss unten! Ohne sie wird das XML nicht validiert.

Natürlich werden Sie die Ergebnisse des Imports Ihrer bearbeiteten Datei testen, bevor Sie sie auf einer Live-Website verwenden. Versuchen Sie, es lokal in eine Neuinstallation zu importieren, und prüfen Sie, ob es vollständig fehlschlägt. Überprüfen Sie dann den Bildschirm mit der Liste der Kategorien in wp-admin und stellen Sie sicher, dass alles genau Ihren Erwartungen entspricht.

Viel Glück!


1
Beachten Sie, dass dadurch keine Kategorien erstellt werden, die bereits erstellt wurden. Übergeordnete Kategorien werden nur Unterkategorien zugewiesen, die noch nicht vorhanden sind.
Zade

4

Ich habe dieses Problem mit 2 Abfragen gelöst.

Dies ist wohl nicht der beste Weg, aber sicher nicht der sicherste . Außerdem wird davon ausgegangen, dass Sie an derselben Datenbank arbeiten (wenn dies nicht der Fall ist, können Sie die Abfrage einfach exportieren und dann in eine andere Datenbank importieren).

Ich habe es für eine leere WordPress-Installation verwendet:

1 - Importieren Sie die Begriffe der Kategorie:

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 - Importieren Sie Kategorienbeziehungen und Beschreibungen

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 newwp_bezieht sich auf eine Tabelle, in die Sie importieren möchten, während oldwp_sich auf die Quelltabelle bezieht


2

Sie können nicht nur Kategorien (oder Taxonomien im Allgemeinen) exportieren. Exportieren Sie einfach alle Inhalte mit Extras / Exportieren und Sie können Inhalte außer Kategorien aus XML löschen.


2

Was ist dein Endziel hier? Nur um eine Liste der Kategorien von einem Blog zum anderen zu erhalten? Oder versuchen Sie, den gesamten Inhalt innerhalb einer Kategorie oder Kategorien in eine andere WordPress-Installation zu verschieben?

Es ist ein bisschen hässlich, aber Sie könnten den gesamten Inhalt exportieren und dann einfach den Inhalt innerhalb der Kategorien löschen oder die Kategorien löschen, die Sie nicht möchten. Dies wäre wahrscheinlich einer der schnelleren Wege zu Ihrem Ziel.


2

Wenn Sie Zugriff auf die Datenbanktabellen haben, können Sie einen MySQL-Dump-Export der Tabellen wp_term_relationships, wp_term_taxonomy und wp_terms durchführen und diese in die neue WordPress-Installation importieren. Ich habe dies gerade zwischen zwei WP-Installationen mit über 300 Kategorien gemacht und es hat gut funktioniert.


Danke, das hat bei mir gut funktioniert.
Nikhil VJ
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.