WordPress 和 Call to undefined function add_menu_page()

2022-08-30 17:31:49

我最近进入了WordPress插件开发,我想添加一个菜单页面(左侧菜单中的链接)。以前的SO问题和WordPress codex说,这就像打电话一样简单:

add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );

但是,当我在插件设置文件中尝试此操作时,它告诉我该函数未定义:

PHP Fatal error:  Call to undefined function add_menu_page()

根据文档,这似乎是一件非常简单的事情,但我完全困惑。任何帮助将不胜感激:)


答案 1

我不知道你的代码看起来如何,但这是我刚刚测试的方式,它的工作原理:

add_action('admin_menu', 'my_menu');

function my_menu() {
    add_menu_page('My Page Title', 'My Menu Title', 'manage_options', 'my-page-slug', 'my_function');
}

function my_function() {
    echo 'Hello world!';
}

看看这里 http://codex.wordpress.org/Administration_Menus


答案 2

您收到此错误消息是因为您在任何钩子之外使用了该函数add_menu_page,或者过早地将其挂钩。

函数add_menu_page获取功能作为第三个参数,以确定用户是否具有访问菜单所需的功能,因此该功能仅在填充用户功能时才可用,因此您应该在admin_menu挂钩中使用该函数,如下所示。

add_action( 'admin_menu', 'register_my_custom_menu_page' );

function register_my_custom_menu_page(){
    add_menu_page(  __( 'Custom Menu Title' ), 'custom menu', 'manage_options', 'custom-page-slug', 'my_custom_menu_page' );
}

function my_custom_menu_page() {
    echo __( 'This is custom menu page.' );
}

有关它的信息,请参阅以下WordPress codex页面。

http://codex.wordpress.org/Function_Reference/add_menu_page


推荐