有没有办法导入导出的基本Wordpress内容XML文件并替换现有内容?我要做的是同步一个站点的两个实例(开发服务器和临时服务器),我只想替换页面内容。当我尝试导入XML文档时,它只是声明所有页面都已经存在,并且什么也没有做。是否可以覆盖该警告并用XML的内容替换页面的内容?
导入和替换现有页面/帖子内容
3 个回复
最合适的回答,由SO网友:AMcDermott 整理而成
一种选择可能是导出两个XML文件,使用文件合并工具(如http://winmerge.org, 删除所有帖子并替换为合并版本。
SO网友:AndrewD
在从开发人员导入之前,运行查询以删除所有临时发布
由于菜单和页面是自定义的帖子类型,这将更新所有帖子、页面和菜单以匹配您的开发人员站点。
通过运行数据库查询删除临时服务器中的所有帖子。请注意,代码需要设置用户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;
导入从开发人员站点导出的XML文件。Caution: 为dev和staging备份数据库,以防您不小心将它们混淆(例如,您认为您连接到了stage,并且在执行删除操作时确实连接到了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;
SO网友:JKL
在我的例子中,我试图用预定义的内容覆盖sage创建的两个默认页面的内容,覆盖页面/帖子内容的最佳方法是使用wp post update
cli命令。
wp post update 2 "./assets/page-content.html"
哪里2
是页面ID和./assets/page-content.html
是包含新内容的文件的路径(如果需要,可以从导出的xml中提取内容)。结束