我最近进入了WordPress插件开发,我想添加一个菜单页面(左侧菜单中的链接)。以前的SO问题和WordPress编解码器说它就像调用一样简单:
add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );
然而,当我在我的插件设置文件中尝试此操作时,它告诉我该函数未定义:
PHP Fatal error: Call to undefined function add_menu_page()
根据文档,这似乎是一件非常简单的事情,但我完全感到困惑。任何帮助将非常感激:)
答案 0 :(得分:40)
我不知道你的代码看起来如何,但这就是我刚刚测试过它的方式:
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!';
}
答案 1 :(得分:6)
您收到此错误消息是因为您在任何挂钩外使用了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页面以获取相关信息。