WordPress网站出现致命错误:Call to undefined function current_user_can() 如何修复?
修复WordPress中“Call to undefined function current_user_can()”错误
常见修复步骤:
- 检查函数调用时机
current_user_can()依赖WordPress用户系统初始化完成后才能调用,如果在init或wp_loaded钩子之前直接调用该函数就会触发错误。若你的主题或自定义代码里存在提前调用的情况,需将代码放到钩子回调中执行:
add_action('init', function() { if (current_user_can('manage_options')) { // 你的业务逻辑代码 } });
- 排查插件冲突
- 暂时禁用所有插件,刷新页面观察错误是否消失。
- 若错误消失,逐个重新启用插件,定位到触发错误的插件后,尝试更新该插件至最新版本,或替换为同类功能插件,也可联系插件开发者反馈问题。
- 排查主题问题
切换到WordPress官方默认主题(如Twenty Twenty-Four),若错误消失,说明当前主题存在问题:
- 检查主题的
functions.php或自定义模板文件,找到提前调用current_user_can()的代码,调整到合适的钩子中执行。 - 若为主题本身bug,尝试更新主题,或联系主题开发者修复。
- 修复核心文件
错误提示指向wp-includes/kses.php,大概率是该文件损坏:
- 下载与你当前WordPress版本完全一致的官方安装包。
- 解压后取出
wp-includes/kses.php文件,通过FTP或主机文件管理器替换网站根目录下对应文件(替换前务必备份原文件)。 - 若问题仍存在,检查
wp-includes/pluggable.php文件(current_user_can()定义在此),同样用官方包中的文件替换。
内容的提问来源于stack exchange,提问作者Robert Seal
相关产品推荐
相关产品推荐

