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

WordPress插件开发:add_menu_page回调函数找不到propertiesMenu报错

WordPress自定义后台菜单回调函数找不到的问题排查与解决

错误原因

你在调用add_menu_page时,直接将回调函数写为propertiesMenu,WordPress会默认在全局作用域中查找这个函数,但propertiesMenu是你类中的成员方法,并非全局函数,因此会触发“找不到函数”的致命错误。

解决方法

类中的成员方法作为回调时,必须使用数组形式指定,格式为[$实例对象, '方法名']。如果是在类内部调用,直接用[$this, 'propertiesMenu']即可。

修正后的代码示例

class Properties {
    public function __construct() {
        // 将菜单注册逻辑挂到admin_menu钩子,确保执行时机正确
        add_action('admin_menu', [$this, 'register_custom_menu']);
    }

    public function register_custom_menu() {
        add_menu_page(
            '属性管理',          // 页面标题
            '属性设置',          // 菜单标题
            'manage_options',    // 访问权限
            'custom-properties', // 菜单Slug
            [$this, 'propertiesMenu'], // 正确的回调写法
            'dashicons-admin-settings', // 菜单图标
            6                   // 菜单排序位置
        );
    }

    // 确保方法为public权限,否则WordPress无法访问
    public function propertiesMenu() {
        var_dump('test');
    }
}

// 实例化类,触发菜单注册
new Properties();

额外注意事项

  • 回调方法必须设置为public权限,若为private或protected,WordPress无法访问该方法,同样会报错。
  • 菜单注册逻辑一定要挂在admin_menu钩子上执行,避免因执行时机过早导致的功能异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:45:40