禁用Wordfence后无法登录WordPress主站后台及访问网络管理菜单怎么办
操作前请先备份全站文件和数据库,避免误操作导致数据丢失
修复步骤
1. 清理Wordfence残留配置
你仅重命名插件文件夹没有完全清除Wordfence的规则,残留配置会影响主站点登录验证:
- 打开站点根目录的
.htaccess文件,删除所有被# Wordfence WAF和# END Wordfence WAF包裹的规则段,以及其他标注为Wordfence生成的重写规则 - 登录站点对应数据库,找到主站点配置表
wp_options(如你修改过表前缀,替换为实际前缀),删除所有option_name包含wordfence的记录 - 找到多站点全局配置表
wp_sitemeta,删除所有meta_key包含wordfence的记录
2. 修复多站点登录Cookie配置
多站点主/子站登录Cookie域配置异常是跨站登录失败的常见原因:
- 打开根目录的
wp-config.php文件,添加/修改以下配置项:
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']); define('ADMIN_COOKIE_PATH', '/'); define('COOKIEPATH', '/'); define('SITECOOKIEPATH', '/');
如果你的主站点固定使用带www的域名,可将COOKIE_DOMAIN的值替换为实际的主站域名,避免动态匹配异常
3. 验证/恢复超级管理员权限
如果你的账户超级管理员权限丢失,也会出现子站可登、主站/网络后台无法访问的情况:
- 进入数据库的
wp_sitemeta表,找到meta_key为site_admins的记录,其值为序列化格式的管理员用户名数组,确认你使用的管理员用户名存在于该数组中,如缺失可手动修改序列化内容补充 - 也可通过临时代码创建新的超级管理员,将以下代码添加到
wp-config.php中,替换对应字段为自定义内容:
add_action('init', function() { $temp_user = '临时超级管理员用户名'; $temp_pwd = '自定义强密码'; $temp_mail = '你的邮箱地址'; if (!username_exists($temp_user) && !email_exists($temp_mail)) { $uid = wp_create_user($temp_user, $temp_pwd, $temp_mail); $user = new WP_User($uid); $user->set_role('administrator'); grant_super_admin($uid); } });
添加完成后访问一次主站点即可生成该账户,使用该账户登录主站和网络管理后台,登录成功后立即删除wp-config.php中新增的这段代码,避免安全风险。
4. 后续操作
- 登录成功后,你可以将插件目录下的Wordfence文件夹名称改回原名,在网络管理后台重新启用并配置插件,也可直接卸载残留后重装Wordfence
- 确认原有管理员账号权限恢复正常后,删除临时创建的超级管理员账号
内容的提问来源于stack exchange,提问作者rendang pyk
相关产品推荐
相关产品推荐

