如何修复WordPress中函数未找到引发的Uncaught TypeError致命错误?
解决WordPress后台无法访问的函数缺失错误
问题根源
错误提示明确指出:call_user_func_array(): Argument #1 ($callback) must be a valid callback, function "wpse242371_remove_editor_from_some_pages" not found。由于你已经禁用所有插件,问题必然出在当前激活的主题文件中——这个函数被挂载到了admin_enqueue_scripts钩子上,但函数本身已被删除或从未存在。
解决步骤
1. 验证主题问题
- 通过cPanel文件管理器或FTP工具,进入网站根目录下的
/wp-content/themes/文件夹 - 将当前激活的主题文件夹重命名(例如加
_old后缀,比如twentytwentythree_old) - 尝试登录WordPress后台:如果能正常访问,说明问题确实出在原主题中
2. 修复主题文件
如果需要继续使用原主题:
- 把重命名的主题文件夹改回原名
- 打开主题目录下的
functions.php文件(路径:/wp-content/themes/你的主题名/functions.php) - 搜索字符串
wpse242371_remove_editor_from_some_pages,找到类似这样的代码:add_action('admin_enqueue_scripts', 'wpse242371_remove_editor_from_some_pages'); - 处理方式二选一:
- 直接删除这行挂载钩子的代码(如果这个功能你不需要)
- 如果是误删了函数本身,补全对应的函数代码(示例模板):
function wpse242371_remove_editor_from_some_pages() { // 这里填原函数的逻辑,比如移除特定页面的编辑器 $screen = get_current_screen(); if (isset($screen->id) && $screen->id === 'page') { remove_post_type_support('page', 'editor'); } }
3. 极端情况处理(上述方法无效时)
如果找不到钩子代码,可以通过重置主题设置快速恢复:
- 登录phpMyAdmin,找到你的WordPress数据库
- 定位到
wp_options表(表前缀可能不是wp_,以你的实际配置为准) - 删除
option_name为theme_mods_你的主题名和stylesheet的条目(删除后主题会重置为默认配置)
内容的提问来源于stack exchange,提问作者joel
相关产品推荐
相关产品推荐

