为什么更改数据库表前缀会导致内容丢失?

时间:2019-07-08 作者:Craig

为了增加一个额外的安全层,对于我正在开发的电子商务网站,我将默认的数据库前缀从wp_wp_additional_prefix.

为此,我打开wp-config.php 文件并修改$table_prefix = \'wp_\'; 进入$table_prefix = \'wp_additional_prefix\';

为了修改现有的数据库表,我对每个数据库表运行了以下SQL查询:

RENAME table `wp_table_name` TO `wp_additional_prefix_table_name`;
然后我在wp_optionswp_usermeta 表,并替换了的所有引用wp_ 具有wp_additional_prefix.

虽然我能够成功地执行上述操作,但它确实导致网站的一些内容丢失。网站徽标和滑块等内容。此外,每个页面的布局都会发生变化。

因此,我想知道我可能会错在哪里。可能是我缺少了一个字段,或者只是偏离了默认的数据库前缀破坏了网站?

1 个回复
SO网友:CRavon

您不应该搜索该字段并替换对的所有引用wp_ 什么都可以。例如:具有meta\\U键的条目的值wp_page_for_privacy_policy 将更改为wp_addtionnal_prefix page_for_privacy_policy. 因此,表中可能有许多不匹配的值。

更好的方法是:

导出DB,将DB导入为新DB,重命名所有具有新前缀的表,再次导出,将其导入旧DB,在wp\\U配置中重命名前缀。php检查是否一切正常

相关推荐

是否修改WP_LIST_TABLE分页“项目”文本?

我正在开发一个插件,在WP仪表板的页面上创建几个自定义表。我的问题是,是否有可能(在不修改核心文件的情况下)更改这些表上方分页中显示的文本?具体来说,我想更改“项/项”一词,以反映表中显示的对象类型。我已经查看了定义WP\\u List\\u Table类的核心文件,以查看该方法在何处定义该文本,但在扩展该类并传递分页参数时,似乎无法传递任何参数来修改它。。。下面是定义上图中显示的文本的代码的确切部分:$output = \'<span class=\"displaying-num\">\'