ADD_MENU_PAGE未呈现预期结果

时间:2013-08-13 作者:Ionut

我正试图完成向管理区域添加新页面的简单任务,但似乎我无法集中精力完成这个简单的功能。

通过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填充页面的右侧(同时保持左侧菜单不变)。

然而,我得到的是:

text that always appears

首先,您可以看到渲染函数总是被调用的(我目前在仪表板页面上),它奇怪地插入到页面的顶部。

其次,当按下按钮时,wordpress试图访问http://localhost/wordpress/wp-admin/my_slider.

我错过了什么?非常感谢。

1 个回复
最合适的回答,由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\')
    );

结束

相关推荐

如何在控制面板中复制“Pages”部分?

我想在控制面板中创建自己的自定义页面(库)选项卡,类似于页面。这有助于我在“画廊”名称下组织画廊页面。我该怎么做?我可以对自定义帖子执行此操作,但这次不会显示模板。:/实际上,我想准确地复制“页面”,并将其命名为“Gallery”。然后我在它下面创建自定义页面。希望你能理解我的问题。