如何将值传递给Add_Menu_Page中的函数?

时间:2014-04-30 作者:sanilts

我习惯于将值传递给下面菜单的函数。

add_menu_page(\'Competition Manager 2013-2014\', \'2013-2014\', \'manage_options\', \'manager_2013_2014\', \'manager_2013_2014\', plugins_url( \'competition-manager/images/cup.png\' ), 81 );

1 个回复
SO网友:fuxia

不要将函数用于回调,请使用类。类似这样:

class Competition_Manager_Page
{
    private $extra;

    public function set_extra( $value )
    {
        $this->extra = $value;
    }

    public function render()
    {
        // show you page content, then:
        print $this->extra;
    }
}
以后可以扩展类的功能。

现在,注册菜单时,首先创建该类的实例,然后添加额外数据:

$page = new Competition_Manager_Page;
$page->set_extra( \'Test\' );

add_menu_page(
    \'Competition Manager 2013-2014\',
    \'2013-2014\',
    \'manage_options\',
    \'manager_2013_2014\',
    array( $page, \'render\' ), // replacement for the former function
    plugins_url( \'competition-manager/images/cup.png\' ), 81
);

结束

相关推荐

使用主题文件夹代替plugins_url

我想这很简单,但我无法解决。我正在尝试通过我的主题向WordPress仪表板添加菜单页。我有以下。。。add_menu_page( \'Test\', \'Test\', \'manage_options\', \'myplugin/myplugin-admin.php\', \'\', plugins_url( \'myplugin/image/icon.png\' ), 6 &