You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

工具菜单下子菜单不显示,回调函数未找到报错求助

解决WordPress MU插件中添加子菜单的回调函数错误

看起来你遇到的问题是WordPress找不到你定义的回调函数,导致user_func_array()报错。我来帮你一步步排查可能的原因:

1. 检查文件是否被正确加载

首先确认你的insta.php确实放在wp-content/mu-plugins目录下,并且这个目录本身存在(如果不存在,WordPress不会自动加载里面的文件,需要手动创建)。你可以在文件里加一段测试代码验证加载状态:

// 在insta.php最顶部添加这段测试代码
add_action('admin_notices', function() {
    echo '<div class="notice notice-success is-dismissible"><p>我的MU插件加载成功啦!</p></div>';
});

刷新WordPress后台,如果能看到这条提示,说明文件已经被加载;如果看不到,那就是文件路径或者命名有问题,仔细检查拼写和位置。

2. 排查隐性语法错误

有时候代码里的小问题会导致函数无法被正确解析,比如遗漏分号、使用了中文符号(中文括号/引号)、括号不匹配等。你可以用本地PHP命令行工具快速检查语法:

php -l /path/to/your/wp-content/mu-plugins/insta.php

如果输出No syntax errors detected,说明语法没问题;如果有错误提示,按照提示修复即可。

3. 避免函数名冲突

有可能其他插件或者主题里已经定义了同名的register_my_custom_submenu_page函数,导致你的函数被覆盖。试试把函数名改成更独特的,比如:

function my_insta_custom_submenu_page() {
    add_submenu_page( 
        'tools.php', 
        'Submenu Page', 
        'My Custom Submenu Page', 
        'manage_options', 
        'my-custom-submenu-page' 
    );
}
add_action('admin_menu', 'my_insta_custom_submenu_page');

这样能大幅减少函数名冲突的概率。

4. 确认代码顺序正确

确保你的函数定义在add_action语句之前,就像你现在写的顺序一样——如果add_action先执行,此时函数还没定义,也会触发这个错误。

如果以上步骤都试过还是不行,可以暂时注释掉insta.php里的其他代码(如果有的话),只保留菜单注册的代码,排除其他代码的干扰。

内容的提问来源于stack exchange,提问作者user11947260

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 06:49:24