基本的な、エクスポートされたWordpressコンテンツXMLファイルをインポートして既存のコンテンツを置き換える方法はありますか?私がやろうとしているのは、サイトの2つのインスタンス(開発サーバーとステージングサーバー)を同期させることです。そして、私が置き換えたいのはPageコンテンツだけです。 XML文書をインポートしようとすると、すべてのページが既に存在していることが示されているだけで、何もされません。その警告をオーバーライドして、ページの内容をXMLの内容で置き換えることは可能ですか?
1つの選択肢は、両方のXMLファイルをエクスポートし、 http://winmerge.org のようなファイルマージツールを使用してそれらをマージし、すべての投稿を削除してマージバージョンに置き換えることです。
Devからインポートする前にすべてのステージング投稿を削除するためのクエリを実行する
メニューとページはカスタム投稿タイプであるため、これによりすべての投稿、ページ、およびメニューが開発サイトに合わせて更新されます。
データベースクエリを実行して、ステージングサーバー内のすべての投稿を削除します。このコードではユーザーIDを設定する必要があることに注意してください。より多くのユーザーがいる場合は変更するか、複数回実行します。
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;
DevサイトからエクスポートしたXMLファイルをインポートします。
注意 :誤ってデータベースを混乱させた場合のために、データベースをdevとステージングの両方のためにバックアップしてください(例えば、ステージに接続していると思いますが、削除を実行すると実際に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;