为了安全把 wp_ 前缀改成 abc_ 改完前台能开 一进插件设置页就报 Table doesn't exist 插件代码还在找 wp_ 开头的那几张老表 报错。碰到这种情况,我一般先确认改动有没有真的生效。
原因不复杂,只改了 wp-config 里的 table_prefix 和主表名 插件建的那些表还叫 wp_ 开头 插件代码里写死 $wpdb->prefix 读的自然是 abc_ 下不存在的表 改完没跟着迁移 一查就报错。
「修改表前缀」相关的验证我通常做两遍,改完一次、隔天再看一次,确认不是临时生效。日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。
SELECT table_name FROM information_schema.tables WHERE table_schema='db' AND table_name LIKE 'wp\_%'; RENAME TABLE wp_posts TO abc_posts;
权限不要一口气开到最大,先加到够用再往上试,范围小才好收。把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。
具体做法是,先在库里把所有 wp_ 开头的表列出来 逐个 RENAME 成新前缀;usermeta 和 options 这两个表里存着 wp_ 前缀的键值也要跟着一起替换;改完确认没有残留的 wp_ 表 再重新打开插件页面验证。
最后用这个标准收尾,插件设置页能打开 库里已经找不到任何 wp_ 开头的旧表记录了。
