1

我在 WordPress 网站上遇到了一个“问题”(挑剔的客户端),我将把它恢复到两个月前下载的 .gz 数据库。现在,在我的工作中,我安装了一个新主题并创建了自定义帖子类型。新主题有许多自定义 CSS 设置,自定义帖子类型有许多文件。

由于我在新主题和自定义帖子类型存在之前将数据库还原到快照,因此我有几个问题:

- 这会将所有设置恢复到当时的配置方式(一般、阅读、讨论)吗?- 以后添加的插件会被停用吗?-我猜新主题仍然存在,因为它的文件实际上就在那里。新主题上的任何设置是否会随着数据库恢复而被删除,或者它们会保留下来并且主题会被停用?

这是一个混乱的情况,我基本上想恢复到 8 月,但如果可能的话,将我在新主题和自定义帖子上的工作存档。谢谢!

4

1 回答 1

0

如果您恢复 Wordpress 数据库,您会将所有设置更改回备份时的状态。这样做的原因是wp_options可能包含您的主题选项,并且肯定包含大多数 Wordpress 设置菜单选项(永久链接、阅读等)。

稍后添加的插件将被停用 -wp_options调用中有一条记录,active_plugins它是您的活动插件的数组。覆盖此值将禁用新插件,但只要它们在/wp-content/plugins目录中,您就可以重新激活它们,尽管它们的设置丢失。您的主题也是如此 - 只要文件在那里,您就可以重新激活,但缺少选项值将意味着设置消失。

现在有一些有用的东西。首先,在您做任何其他事情之前,一定要备份您的网站,因为它现在存在。一旦你有了备份,而不是删除表等,你可以尝试重命名这个模式以便它不会冲突,然后将你的备份恢复到包含原始名称的模式(一个 Wordpress 配置为使用现在)。在同一台服务器上使用两个模式,您现在可以运行查询来比较当前数据库值和恢复的数据库值,并在必要时插入它们。假设调用了恢复的架构并且调用restored了当前架构current,则以下跨方案查询将向您显示恢复的架构中不存在的任何设置:

SELECT co.option_id, co.option_name, co.option_value, co.autoload  
FROM current.wp_options co
WHERE co.option_id NOT IN 
    (SELECT ro.option_id FROM restored.wp_options ro)

WHERE co.option_name LIKE 'key_%如果您想将某些值复制到您的restored架构中,请添加一些类型查询以提取某些值集。您可能希望以类似的方式查看这些wp_postmeta值,或者甚至比较wp_optionsID/键所在的表中的值,但这些值不匹配以查看发生了什么变化。

祝你好运!

于 2012-11-10T19:09:44.997 回答