I am creating a submenu with the following code:
add_action( 'admin_menu', 'jp_create_admin_pages' );
function jp_create_admin_pages()
{
add_menu_page(
'Members',
'Members',
'manage_options',
'members',
'jp_handle_admin_members');
add_submenu_page(
'members',
'Membership Types',
'Membership Types',
'manage_options',
'jp_handle_admin_membership_types');
}
This creates a custom menu called ‘Members’ with two sub-menus: ‘Members’ and ‘Membership Types’.
I want to make it so that the first submenu is called ‘All Members’ instead of ‘Members’ (to mirror the built in menu types). Any ideas?
2 Answers
The first menu item typically is the parent item and shares the name with that item, you can however manually update the entry directly in the $submenu
variable, like so..
add_action( 'admin_menu', 'jp_create_admin_pages' );
function jp_create_admin_pages() {
global $submenu;
add_menu_page('Members','Members','manage_options','members','jp_handle_admin_members');
add_submenu_page('members','Membership Types','Membership Types','manage_options','membership_types','jp_handle_admin_membership_types');
$submenu['members'][0][0] = 'All Members';
}
That way your parent keeps the original name, whilst the first subitem has another.
Hope that helps.