Импорт и замена существующего содержимого страницы/публикации


Есть ли какой-либо способ импортировать базовый экспортированный XML-файл контента Wordpress и заменить им существующий контент? То, что я пытаюсь сделать, - это синхронизировать два экземпляра сайта (серверы разработки и промежуточные серверы), и все, что я хочу заменить, - это содержимое страницы. Когда я пытаюсь импортировать XML-документ, он просто указывает, что все страницы уже существуют, и ничего не делается. Можно ли отменить это предупреждение и заменить содержимое страниц содержимым XML?

Author: hereswhatidid, 2011-04-14

3 answers

Одним из вариантов может быть экспорт обоих XML-файлов, объединение их с помощью инструмента объединения файлов, такого как http://winmerge.org , удалите все сообщения и замените их объединенной версией.

 2
Author: AMcDermott, 2011-04-14 22:53:39

Запустите Запрос, чтобы Удалить Все Промежуточные записи перед импортом из Dev

Поскольку меню и страницы являются настраиваемыми типами записей, это обновит все записи, страницы и меню в соответствии с вашим сайтом разработчика.

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

    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;
    
  2. Импортируйте 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; 
 2
Author: AndrewD, 2015-03-20 18:46:53

В моем случае - я пытаюсь перезаписать содержимое двух страниц по умолчанию, созданных sage, с предопределенным содержимым - лучший способ перезаписать содержимое страницы/публикации - это использовать команду wp post update cli.

wp post update 2 "./assets/page-content.html"

Где 2 - идентификатор страницы, а ./assets/page-content.html - путь к файлу с новым содержимым (при необходимости вы можете извлечь содержимое из экспортированного xml-файла).

Https://developer.wordpress.org/cli/commands/post/update/

 0
Author: JKL, 2021-01-29 13:03:21