Как экспортировать и импортировать taxonomies (категория, тег и/или пользовательская таксономия) и их условия

Я хочу экспортировать все категории Wordpress (никакие сообщения, просто категории) от одного блога до другого. Как я могу сделать это?

10
29.04.2014, 21:08
5 ответов

Какова Ваша конечная цель здесь? Только получить список категорий от одного блога до другого? Или, Вы пытаетесь переместить все содержание в категории или категориях к другой установке WordPress?

Это довольно ужасный, но Вы могли экспортировать все содержание, затем просто удалить содержание в категориях или удалить категории, которые Вы не хотите. Это, вероятно, был бы один из более быстрых путей к Вашей цели.

2
19.02.2020, 22:00

Вы наклоняете экспорт только категории (или taxonomies обычно). Просто экспортируйте все содержание с Инструментами/Экспортом, и можно удалить содержание кроме категорий от xml.

2
19.02.2020, 22:00

Я решил эту проблему с 2 запросами.

Это не лучший способ, которым я предполагаю, но наверняка не самое безопасное. Кроме того, это предполагает, что Вы работаете над той же базой данных (если дело обстоит не так можно легко экспортировать запрос и затем импортировать в другой дб).

Я использовал его на пустой установке Wordpress:

1 - Импортируйте условия категории:

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 - Отношения категорий импорта и описания

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_ относится к таблице, в которую Вы хотите импортировать в то время как oldwp_ обращается к исходной таблице

4
19.02.2020, 22:00

Этот ответ является по существу тем же как Ünsal, но я хотел бы уточнить немного, потому что несмотря на то, чтобы быть правильным его ответ не помог мне (я просто пытался помнить то, что я сделал в прошлом, я должен был читать его более тщательно, и я понял бы это, но я думаю для других, полное описание было бы полезно).

Для экспорта полной иерархии категории, необходимо экспортировать "Все Содержание"

Любая другая опция не даст Вам полные данные (например, экспорт сообщения со всеми категориями, отмеченными главным образом, работает, но Вы теряете все данные происхождения/иерархии о taxonomies, которые являются иерархическими).

То, когда Вы экспортируете "Все Содержание" получающийся файл, имеет раздел с данными о Ваших условиях. При просмотре файла, должно быть достаточно легко найти после авторов и перед "объектами" (т.е. сообщения).

Можно просто импортировать это и удалить содержание, если это - опция*

Импорт полного файла будет копировать иерархию таксономии отлично, но также и очевидно импортировать все страницы и сообщения также. Если нет слишком многих, чем рассматривают просто удаление их вручную. Это не займет у этого много времени, если Вы сделаете это увеличивает объем и существуют меньше чем сотни (помните, что можно использовать Экранные Опции на экране Edit Posts для показа больше, чем значение по умолчанию, и таким образом объем редактирует больше за один раз).

Если у Вас есть слишком много содержания для удаления всего этого затем, необходимо отредактировать файл WXR вручную для удаления всего кроме условий, которые Вы хотите сохранить.

Редактирование файла WXR для удаления содержания

Это может быть немного хитро, но действительно при рассмотрении содержания файла дело не в этом трудно для выяснения то, что делает каждый элемент. XML похож на HTML с тегами, таким образом, главное остерегаться состоит в том, что Вы не удаляете закрывающий тэг при оставлении открывающего тега и т.д.

Вы найдете, что существует 1-3 типа определений слова в WXR, один тип для Категорий, один для "тегов" и один для "условий". "Пользовательские taxonomies" используют термины, в то время как старомодные категории и теги имеют свой собственный специальный формат.

ПРИМЕР КАТЕГОРИИ

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

ПРИМЕР ТЕГА

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

ПОЛЬЗОВАТЕЛЬСКИЙ ПРИМЕР ТЕРМИНА ТАКСОНОМИИ

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

Таким образом, то, что Вы хотите сделать, удаляют все содержание кроме этих тегов категории/тега/термина из файла WXR. А именно, теги wp:author, которые прибывают прежде и много тегов объекта, которые прибывают после. Самое главное: не удаляйте закрытие / канал и / теги RSS внизу! Без них XML не проверит.

ОЧЕВИДНО, Вы протестируете результаты импорта Вашего отредактированного файла перед использованием его на живом веб-сайте. Попытайтесь импортировать его в новую установку локально и посмотрите, перестало ли это работать полностью, затем проверьте экран списка категорий в wp-администратора и удостоверьтесь, что все точно, как Вы ожидали.

Удачи!

5
19.02.2020, 22:00
  • 1
    Обратите внимание, что это не добавит иерархию к категориям, которые были уже созданы. Это только присвоит родительские категории подкатегориям, которые уже не существуют. –  Zade 10.10.2019, 09:09

Если у Вас есть доступ к таблицам базы данных, можно сделать экспорт дампа mysql wp_term_relationships, wp_term_taxonomy, wp_terms таблицы и импортировать тех, которые в новую установку Wordpress. Я просто сделал это между двумя установками WP с более чем 300 категориями, и это хорошо работало.

2
19.02.2020, 22:00
  • 1
    спасибо, это работало хорошо над моим концом. –  Nikhil VJ 15.09.2019, 21:03

Теги

Похожие вопросы