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


10

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


Вы пытались получить доступ к управлению> Экспорт из панели администратора блога.

Меню Manage отсутствует, есть только меню Tools / Export, но оно не позволяет мне экспортировать только категории
chubbyk

Извините за это, я прочитал это из блога онлайн. Не могли бы вы сделать это на уровне базы данных?

Если вам нужно простое усилие, попробуйте плагин Export Categories . wordpress.org/plugins/export-categories

Ответы:


5

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

Для экспорта полной иерархии категорий необходимо экспортировать «Весь контент»

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

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

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

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

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

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

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

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

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

<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 ПРИМЕР

<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, которые предшествуют, и многие теги, которые идут после. Самое главное: не удаляйте закрывающие теги / channel и / rss внизу! Без них XML не будет проверяться.

Ясно, что вы протестируете результаты импорта отредактированного файла, прежде чем использовать его на живом веб-сайте. Попробуйте импортировать его в новую установку локально и посмотрите, не сработает ли он полностью, затем проверьте экран списка категорий в wp-admin и убедитесь, что все в точности так, как вы ожидали.

Удачи!


1
Обратите внимание, что это не добавит иерархию к категориям, которые уже были созданы. Он будет назначать родительские категории только тем подкатегориям, которые еще не существуют.
Заде

4

Я решил эту проблему с 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_к исходной таблице.


2

Вы не можете экспортировать только категории (или таксономии в целом). Просто экспортируйте весь контент с помощью Tools / Export, и вы можете удалить контент, кроме категорий, из XML.


2

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

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


2

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


спасибо, это сработало хорошо с моей стороны.
Nikhil VJ
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.