我正试图完成向管理区域添加新页面的简单任务,但似乎我无法集中精力完成这个简单的功能。
通过codex,我正试图添加页面:
public function __construct(){
add_action(\'admin_menu\', array( &$this, \'register_menu_page\'));
}
public function register_menu_page () {
$hookname = add_menu_page (
\'My Slider\',
\'My Slider\',
\'manage_options\',
\'my_slider\',
My_Slider::render_admin_menu()
);
}
按下新添加的名为
My Slider
我希望
My_Slider::render_admin_menu()
调用并用一些HTML填充页面的右侧(同时保持左侧菜单不变)。
然而,我得到的是:
首先,您可以看到渲染函数总是被调用的(我目前在仪表板页面上),它奇怪地插入到页面的顶部。
其次,当按下按钮时,wordpress试图访问http://localhost/wordpress/wp-admin/my_slider
.
我错过了什么?非常感谢。
最合适的回答,由SO网友:Puggan Se 整理而成
作为5参数add_menu_page() 您发送运行函数的结果,而不是发送callable reference 添加到函数,就像您在add\\u操作中所做的那样。
$hookname = add_menu_page (
\'My Slider\',
\'My Slider\',
\'manage_options\',
\'my_slider\',
array( \'My_Slider\', \'render_admin_menu\')
);