0

How can I make my theme settings admin menu showing "general" as default page while keeping its menu title as "theme settings"?

I mean at the moment I got this using add_menu_page and add_submenu_page:

enter image description here

But I want to have "general"... I am struggling to figure this out... Is it not possible?

  • Have a look at [this] (wordpress.stackexchange.com/a/65822/134934) , Some guy used hooks on wp-admin.php to redirect to desired page – Maor Harush Jan 15 '18 at 22:50
  • I am not sure how doing this I would be able to change the title to "general", and without get duplicated pages... – neoDev Jan 15 '18 at 23:00
  • So when someone clicks on the "Theme settings" (with the cog icon) you want them to be on "General" page - where the red arrow points on your image? – Greg36 Jan 16 '18 at 2:10
  • @Greg36 yes. This is what I am trying to have. – neoDev Jan 16 '18 at 14:52
0

You need to create a submenu page with the same slug as the menu page. E.g.

$menu_slug = "my_menu_slug";
$desired_capability = "manage_options"; //Or whatever you need
$menu_page_callback = "menu_page_callback_function";

add_menu_page(
    "Page Title", 
    "Menu Title", 
    $desired_capability, 
    $menu_slug, 
    $menu_page_callback
);

add_submenu_page(
    $menu_slug, 
    "Submenu Page Title", 
    "Submenu Menu Title",
    $desired_capability, 
    $menu_slug, 
    $menu_page_callback
);
//Note, the 5th and 6th parameters here are the same as above. This 
//overrides the first submenu title. Now clicking the 
//menu title and the first submenu item will navigate to the same page, 
//generated by the menu_page_callback function.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.