如何在另一个插件菜单下添加新的自定义子菜单

Tom*_*Tom 9 wordpress submenu

在我的WP管理页面中有一个名为Shopp的插件,这个插件有顶级菜单"Shopp".

这是顶级菜单:

$menus['main'] = add_menu_page('Shopp', 'Shopp', SHOPP_USERLEVEL, 'shopp-orders', array(&$this,'orders'));
Run Code Online (Sandbox Code Playgroud)

我已经创建了一些插件,需要在"Shopp"顶级菜单下添加为子菜单,所以它正在添加子菜单(链接..... wp-admin/admin.php?page = ach-faq.php)但是当我点击子菜单时,它会显示"您没有足够的权限来访问此页面".

调试结果:

Pagenow = admin.php
Parent = shopp-orders
Hookname = shopp_page_ach-faq
Menu = Array
Submenu = Array
Menu nopriv = Array
Submenu nopriv =
Plugin page = ach-faq.php
Registered pages =
Run Code Online (Sandbox Code Playgroud)

我的代码:

function ach_faq_menu(){
 add_submenu_page('shopp-orders', 'My FAQ Plugin', 'My FAQ Plugin', 8, __FILE__, 'section_1');
}
function section_1(){
 echo 'Text';
}
add_action('admin_menu', 'ach_faq_menu');
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题 ?请帮我 !

小智 20

应同时调用菜单和子菜单页面,并使用相同的slug.例如

add_action("admin_menu", "createMyMenus");

function createMyMenus() {
    add_menu_page("My Menu", "My Menu", 0, "my-menu-slug", "myMenuPageFunction");
    add_submenu_page("my-menu-slug", "My Submenu", "My Submenu", 0, "my-submenu-slug", "mySubmenuPageFunction");
}
Run Code Online (Sandbox Code Playgroud)

这将导致顶级菜单"我的菜单"与孩子"我的子菜单".

当您使用FILE作为submenu-slug 时,似乎会出现无效的权限错误.