it-swarm.com.de

So exportieren und importieren Sie Taxonomien (Kategorie, Tag und/oder benutzerdefinierte Taxonomie) und deren Begriffe

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

10
chubbyk

Diese Antwort ist im Wesentlichen die gleiche wie die von Ünsal, aber ich möchte etwas näher darauf eingehen, da mir seine Antwort nicht weitergeholfen hat (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 gesamte 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 Posts mit allen Kategorien, die mit Tags versehen sind, meistens, aber Sie verlieren alle Stamm-/Hierarchiedaten zu Taxonomien, die hierarchisch sind).

Wenn Sie "Alle Inhalte" exportieren, enthält die resultierende Datei einen Abschnitt mit Daten zu Ihren Begriffen. Wenn Sie die Datei durchsehen, sollte es einfach genug sein, nach Autoren und vor "Elementen" (d. H. Posts) zu suchen.

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

Durch das Importieren der vollständigen Datei wird die Taxonomiehierarchie perfekt repliziert, aber natürlich werden auch alle Seiten und Posts importiert. Wenn es nicht zu viele gibt, sollten Sie sie einfach von Hand löschen. Es wird nicht so lange dauern, wenn Sie die Massenbearbeitung durchführen und weniger als Hunderte vorhanden sind (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 gleichzeitig zu bearbeiten).

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

Bearbeiten der WXR-Datei zum Entfernen von Inhalten

Das kann etwas schwierig sein, aber wenn man sich den Inhalt der Datei ansieht, ist es nicht so schwer herauszufinden, was jedes Element tut. XML ist wie HTML mit Tags, daher ist es wichtig zu beachten, dass Sie ein schließendes Tag nicht löschen, während Sie das öffnende Tag usw. verlassen.

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

KATEGORIE BEISPIEL

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

CUSTOM TAXONOMY TERM BEISPIEL

<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 anderen Inhalte als diese Kategorie-/Tag-/Term-Tags aus der WXR-Datei entfernen. Nämlich wp: Autoren-Tags, die vor und die vielen Artikel-Tags, die nach kommen. Am wichtigsten: Entfernen Sie nicht die schließenden/channel und/rss Tags am unteren Rand! Ohne sie wird das XML nicht validiert.

OFFENSICHTLICHSie werden 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 Kategorienlistenbildschirm in wp-admin und stellen Sie sicher, dass alles genau so ist, wie Sie es erwartet haben.

Viel Glück!

4
jerclarke

Ich habe dieses Problem mit 2 Abfragen gelöst.

Dies ist vermutlich nicht der beste Weg, aber mit Sicherheit 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 problemlos exportieren und dann in eine andere Datenbank importieren).

Ich habe es in einer leeren WordPress-Installation verwendet:

1 - Importiere 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 - Kategorienbeziehungen und Beschreibungen importieren

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

4
Dalen

Was ist dein Endziel hier? Nur um eine Liste der Kategorien von einem Blog zum anderen zu bekommen? 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 nur 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
tollmanz

Sie können nicht nur Kategorien (oder Taxonomien im Allgemeinen) exportieren. Exportieren Sie einfach alle Inhalte mit Tools/Export und Sie können Inhalte mit Ausnahme von Kategorien aus XML löschen.

2
Ünsal Korkmaz

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 ausführen und diese in die neue WordPress-Installation importieren. Ich habe das gerade zwischen zwei WP Installationen mit über 300 Kategorien gemacht und es hat gut funktioniert.

1
Rocco The Taco