Jak eksportować i importować taksonomie (kategoria, znaczniki i / lub taksonomie niestandardowe) i ich warunki


10

Chcę wyeksportować wszystkie kategorie Wordpress (bez postów, tylko kategorie) z jednego bloga do drugiego. Jak mogę to zrobić ?


Czy próbowałeś uzyskać dostęp do Zarządzaj> Eksportuj z panelu administracyjnego bloga.

Nie ma menu Zarządzaj, jest tylko menu Narzędzia / Eksportuj, ale nie pozwala mi tylko na eksport kategorii
chubbyk

Przepraszam za to, przeczytałem to z blogu online. Czy możesz to zrobić z poziomu bazy danych?

Jeśli potrzebujesz prostego wysiłku, wypróbuj wtyczkę Export Categories . wordpress.org/plugins/export-categories

Odpowiedzi:


5

Ta odpowiedź jest w zasadzie taka sama jak odpowiedź Ünsala, ale chciałbym trochę rozwinąć, ponieważ pomimo słuszności jego odpowiedź mi nie pomogła (próbowałem tylko przypomnieć sobie, co zrobiłem w przeszłości, powinienem był przeczytać ostrożniej i wymyśliłbym to, ale myślę, że dla innych przydatny byłby pełny opis).

Aby wyeksportować pełną hierarchię kategorii, musisz wyeksportować „Cała zawartość”

Żadna inna opcja nie da ci pełnych danych (np. Eksport postu ze wszystkimi kategoriami oznaczonymi głównie działa, ale tracisz wszystkie dane o pochodzeniu / hierarchii dotyczące taksonomii, które są hierarchiczne).

Po wyeksportowaniu „Cała zawartość” plik wynikowy zawiera sekcję z danymi o Twoich warunkach. Jeśli przejrzysz plik, znalezienie autorów i przed „elementami” (tj. Postami) powinno być łatwe.

Możesz to zaimportować i usunąć zawartość, jeśli jest to opcja *

Importowanie pełnego pliku doskonale replikuje hierarchię taksonomii, ale oczywiście również importuje wszystkie strony i posty. Jeśli nie ma ich zbyt wiele, rozważ usunięcie ich ręcznie. Nie zajmie to dużo czasu, jeśli zrobisz to zbiorczo, a jest ich mniej niż setki (pamiętaj, że możesz użyć Opcje ekranu na ekranie Edytuj posty, aby wyświetlić więcej niż domyślną, a tym samym edytować więcej zbiorczo na raz).

Jeśli masz za dużo treści, aby to wszystko usunąć, musisz ręcznie edytować plik WXR, aby usunąć wszystko oprócz warunków, które chcesz zachować.

Edycja pliku WXR w celu usunięcia zawartości

Może to być nieco trudne, ale tak naprawdę, jeśli spojrzysz na zawartość pliku, nie jest tak trudno zrozumieć, co robi każdy element. XML jest podobny do HTML ze znacznikami, więc należy przede wszystkim uważać, aby nie usunąć znacznika zamykającego, pozostawiając znacznik otwierający itp.

Przekonasz się, że w WXR istnieją 1-3 typy definicji terminów, jeden typ dla kategorii, jeden dla „znaczników” i jeden dla „terminów”. „Niestandardowe taksonomie” używają terminów, podczas gdy staromodne kategorie i tagi mają swój własny specjalny format.

PRZYKŁAD KATEGORII

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

PRZYKŁAD TAGU

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

PRZYKŁADOWY OKRES PODATKOWY

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

Więc co chcesz zrobić, to usunąć całą zawartość inną niż te znaczniki kategorii / tag / term z pliku WXR. Mianowicie wp: znaczniki autora, które pojawiają się wcześniej i wiele znaczników pozycji, które pojawiają się później. Co najważniejsze: nie usuwaj tagów zamykających / channel i / rss na dole! Bez nich XML nie sprawdza się.

OCZYWIŚCIE przetestujesz wyniki importowania edytowanego pliku przed użyciem go na stronie internetowej na żywo. Spróbuj zaimportować go do nowej instalacji lokalnie i sprawdź, czy całkowicie się nie powiedzie, a następnie sprawdź ekran listy kategorii w wp-admin i upewnij się, że wszystko jest dokładnie tak, jak się spodziewałeś.

Powodzenia!


1
Pamiętaj, że nie spowoduje to dodania hierarchii do już utworzonych kategorii. Przydzieli kategorie nadrzędne tylko podkategoriom, które jeszcze nie istnieją.
Zade,

4

Rozwiązałem ten problem za pomocą 2 zapytań.

Nie jest to chyba najlepszy sposób, ale na pewno nie najbezpieczniejszy . Ponadto zakłada, że ​​pracujesz na tej samej bazie danych (jeśli tak nie jest, możesz łatwo wyeksportować zapytanie, a następnie zaimportować do innej bazy danych).

Użyłem go w pustej instalacji wordpress:

1 - Zaimportuj warunki kategorii:

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 - Relacje i opisy kategorii importu

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_odnosi się do tabeli, do której chcesz zaimportować, natomiast oldwp_odnosi się do tabeli źródłowej


2

Nie można eksportować tylko kategorii (lub ogólnie taksonomii). Wystarczy wyeksportować całą zawartość za pomocą Narzędzia / Eksportuj i możesz usunąć zawartość oprócz kategorii z xml.


2

Jaki jest twój cel tutaj? Aby uzyskać listę kategorii z jednego bloga do drugiego? A może próbujesz przenieść całą zawartość kategorii lub kategorii do innej instalacji WordPress?

To trochę brzydkie, ale możesz wyeksportować całą zawartość, a następnie po prostu usunąć zawartość w ramach kategorii lub usunąć kategorie, których nie chcesz. Byłby to prawdopodobnie jeden z szybszych sposobów na osiągnięcie celu.


2

Jeśli masz dostęp do tabel bazy danych, możesz wykonać eksport zrzutu mysql tabel wp_term_relationships, wp_term_taxonomy, wp_terms i zaimportować je do nowej instalacji wordpress. Właśnie zrobiłem to między dwiema instalacjami WP z ponad 300 kategoriami i działało dobrze.


dzięki, to działało dobrze na moim końcu.
Nikhil VJ
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.