我使用主题Goodlife的Wordpress 4.6.1。
每当我更改域名时,我的主题都会丢失所有设置(主题选项)。
分析数据库,我意识到他失去了" option_tree"选项。
要更改域名,请使用以下查询:
UPDATE wp_posts SET guid = REPLACE(guid,'old_url','new_url');
UPDATE wp_posts SET post_content = REPLACE(post_content,'old_url','new_url');
UPDATE wp_options SET option_value = REPLACE(option_value,'old_url','new_url');
我做了一个简单的测试来确认,并复制了这个选项的值并直接输入到数据库中。只是我加载wordpress,再次失去了值。
现在我有" option_tree"在txt文件中的值,但数据库中的值是错误的,如何在不被覆盖的情况下使用我网站中的实际值?
答案 0 :(得分:1)
如果没有确切了解数据的结构,我会100%认为主题选项损坏是由于搜索和替换搞砸了序列化数据。由于序列化数据定义了数据的确切长度,因此搜索和替换(除非术语之前和之后完全相同)可能会破坏字段中的所有数据。大多数主题选项都保存为序列化数据。
我没有尝试运行您的自定义命令,而是发现了很多成功的搜索和替换脚本的目的是为了这个目的:
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
按照安装说明运行搜索并通过他们的工具进行替换。它可以正确处理序列化数据并防止数据中出现错误。