Импорт и замена существующего содержимого страницы/публикации
Есть ли какой-либо способ импортировать базовый экспортированный XML-файл контента Wordpress и заменить им существующий контент? То, что я пытаюсь сделать, - это синхронизировать два экземпляра сайта (серверы разработки и промежуточные серверы), и все, что я хочу заменить, - это содержимое страницы. Когда я пытаюсь импортировать XML-документ, он просто указывает, что все страницы уже существуют, и ничего не делается. Можно ли отменить это предупреждение и заменить содержимое страниц содержимым XML?
3 answers
Одним из вариантов может быть экспорт обоих XML-файлов, объединение их с помощью инструмента объединения файлов, такого как http://winmerge.org , удалите все сообщения и замените их объединенной версией.
Запустите Запрос, чтобы Удалить Все Промежуточные записи перед импортом из Dev
Поскольку меню и страницы являются настраиваемыми типами записей, это обновит все записи, страницы и меню в соответствии с вашим сайтом разработчика.
-
Удалите все записи на промежуточном сервере, выполнив запрос к базе данных. Обратите внимание, что код требует установки идентификатора пользователя. измените его, если есть несколько пользователей, или запустите его более одного раза.
SET @WPUSERID='1'; -- end config -- Delete a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_author = @WPUSERID;
Импортируйте XML-файл, который вы экспортировали из разработчика сайт.
Внимание: Создайте резервные копии своих баз данных как для разработки, так и для промежуточной обработки на случай, если вы случайно их перепутали (например, вы думаете, что подключены к этапу, и вы действительно подключены к разработке, когда выполняете удаление).
Будьте в безопасности: просматривайте сообщения перед удалением
Select * FROM wp_posts a
LEFT JOIN wp_term_relationships b
ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c
ON (a.ID = c.post_id)
WHERE a.post_author = @WPUSERID;
В моем случае - я пытаюсь перезаписать содержимое двух страниц по умолчанию, созданных sage, с предопределенным содержимым - лучший способ перезаписать содержимое страницы/публикации - это использовать команду wp post update
cli.
wp post update 2 "./assets/page-content.html"
Где 2
- идентификатор страницы, а ./assets/page-content.html
- путь к файлу с новым содержимым (при необходимости вы можете извлечь содержимое из экспортированного xml-файла).