web-dev-qa-db-fra.com

Importer et remplacer le contenu de page/publication existant

Est-il possible d'importer un fichier XML de contenu Wordpress exporté de base et de le remplacer par un contenu existant? Ce que j'essaie de faire est de synchroniser deux instances d'un site (serveurs de développement et de stockage intermédiaire) et tout ce que je veux remplacer, c'est le contenu de la page. Lorsque j'essaie d'importer le document XML, il indique simplement que toutes les pages existent déjà et que rien n'est fait. Est-il possible de remplacer cet avertissement et de remplacer le contenu des pages par le contenu du XML?

3
hereswhatidid

Une option pourrait être d'exporter les deux fichiers XML, de les fusionner à l'aide d'un outil de fusion de fichiers tel que http://winmerge.org , de supprimer toutes les publications et de les remplacer par la version fusionnée.

1
AMcDermott

Exécuter une requête pour supprimer toutes les publications intermédiaires avant d'importer à partir de Dev

Étant donné que les menus et les pages sont des types de publication personnalisés, cela mettra à jour tous les publications, pages et menus en fonction de votre site dev.

  1. Supprimez toutes les publications sur le serveur de transfert en exécutant une requête de base de données. Notez que le code nécessite la définition d'un ID utilisateur. modifiez-le s'il y a plus d'utilisateurs ou exécutez-le plus d'une fois.

    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. Importez le fichier XML que vous avez exporté à partir du site de développement.

Attention : Sauvegardez vos bases de données pour dev et staging au cas où vous les mélangeriez accidentellement (vous pensez que vous êtes connecté à stage par exemple et que vous êtes vraiment connecté à dev lorsque vous supprimez).

Soyez prudent: affichez les messages avant de les supprimer

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; 
1
AndrewD