将完整站点从一个域移动到另一个域并保留小部件的正确方法

时间:2012-03-23 作者:random_user_name

我认为自己对这件事相当精通,但最近我在移动网站时遇到了一连串的问题。我能够成功地移动网站,编辑wp配置。php、移动数据库等。

移动数据库后,我将执行以下查询:

UPDATE wp_options SET option_value = replace(option_value, \'http://olddomain.com\', \'http://newdomain.com\');
UPDATE wp_posts SET guid = replace(guid, \'http://olddomain.com\',\'http://newdomain.com\');
UPDATE wp_posts SET post_content = replace(post_content, \'http://olddomain.com\', \'http://newdomain.com\');
UPDATE wp_postmeta SET meta_value = replace(meta_value, \'http://olddomain.com\', \'http://newdomain.com\');
这将正确更新我的所有链接、图像引用等-但是,我最终遇到了一个不同的问题:

发生的情况是一些小部件中断(例如WP文本小部件以及附加小部件WYSIWYG小部件)。彻底地因为小部件不再出现在侧边栏下,我必须完全重建它们(插件很好,只是小部件从侧边栏中消失了)。

我在WP-SO周围搜索过,看到一些评论警告不要使用这种更新db的方法,但我想知道的是,是否有办法解决这个问题,以及那是什么方法。

1 个回复
最合适的回答,由SO网友:helenhousandi 整理而成

数据库中有一些序列化数据的实例,特别是在小部件选项中,如果在不考虑不同字符串长度的情况下进行盲搜索和替换,这些实例就会失效。您可以尝试这样的工具来执行搜索和替换,该工具还可以处理序列化数据:https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

结束

相关推荐

非常简单的SQL中的引号问题

我只想在帖子中执行一个SQL语句(我正在使用EXEC-PHP小部件)。问题是当我想做以下事情时引用$my\\u name=\'hello\'“从表中选择*,其中名称=\'$my\\u name\'”;获取错误的报价。。。。从name=\'hello\'我试过streepslashes\\u deep、addslashes、stripslashes。。。我觉得不应该这么难。。。也许这不是我最好的一天有什么帮助吗?谢谢