views:

317

answers:

1

There is plugin called Shopp in my WP admin page , this plugin has got top level menu "Shopp" .

This is the top level menu:

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

And I've created some plugin which need to add as submenu under "Shopp" top level menu , so it is adding sub menu ( link .....wp-admin/admin.php?page=ach-faq.php ) but when I am clicking on submenu it shows "You do not have sufficient permissions to access this page."

Debug result:

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 =

My code:

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');

How can I fix this ? Please help me !

+2  A: 

Menu and submenu pages should be called at the same time, and use the same slugs. For example

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:);
}

This would result in a top-level menu "My Menu" with a child of "My Submenu".

The invalid permissions error seems to crop up when you use FILE for the submenu-slug.

Altari