hereswhatidid
  • 0
Новичок

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

  • 0

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

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

    • 0
  2. Запустите запрос на удаление всех промежуточных сообщений перед импортом из 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-файл, который вы экспортировали с сайта Dev.

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

    Будьте в безопасности: просматривайте сообщения перед удалением

    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; 
    
    • 0
  3. В моем случае — я пытаюсь перезаписать содержимое двух страниц по умолчанию, созданных 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

Оставить ответ

You must login to add an answer.