我正在尝试为我的插件创建管理菜单。
$my_hook = add_menu_page(
'String',
'String',
'manage_options',
'mypage&type=mytype',
'my_function'
);
如果我现在尝试访问该页面
wp-admin/admin.php?page=mypage&type=mytype
通过菜单,我得到:“您没有足够的权限来访问此页面。”是否不能在菜单项中包含& type = mytype等GET参数?
感谢。
答案 0 :(得分:0)
我无法确定为什么尝试向菜单或子菜单slug添加参数会使生成的链接无效。但$menu_slug
在函数add_menu_page
和add_submenu_page()
中都用于搜索PHP文件(而不是函数回调)并构建插件URL。
尝试添加额外的运算符?
或&
效果不佳,即它对plugin_basename
或get_plugin_page_hookname
无效。
这是一种使用相同回调函数和各种顶级管理菜单的解决方法。网址将是:
并且回调函数检查$_GET['page']
。
add_action( 'admin_menu', 'menu_so_17406309' );
function menu_so_17406309()
{
add_menu_page(
'First',
'First',
'manage_options',
'myplugin1',
'callback_so_17406309'
);
add_menu_page(
'Second',
'Second',
'manage_options',
'myplugin2',
'callback_so_17406309'
);
}
function callback_so_17406309()
{
switch( $_GET['page'] )
{
case 'myplugin1':
echo 'first page';
break;
case 'myplugin2':
echo 'second page';
break;
default:
echo 'error';
break;
}
}
WordPress答案中的相关search query。
答案 1 :(得分:0)
你可以做这样的事情
$ my_hook = add_menu_page( '串', '串', 'manage_options', '?页=页面名称', '创建my_function' );
答案 2 :(得分:0)
manage_options
是一个必需的选项,用于指定向用户显示此菜单的功能。 more details...
您将角色具有足够的权限来访问或管理此页面。
你可以试试这个:
$my_hook = add_menu_page(
'String',
'String',
'administrator',
'mypage&type=mytype',
'my_function'
);