X

Create Custom add_menu_page with add_submenu_page Admin Panel

Snippets by IsItWP

Do you want to create a custom admin menu with 2 sub menus? Admin menus are useful for membership sites when you have multiple users signing up on your website. We have created a quick code snippet that you can use to create custom add_menu_page and add_submenu_page admin panel in WordPress.

Instructions:

All you have to do is add this code to your theme’s functions.php file or in a site-specific plugin:

 
function theme_options_panel(){
  add_menu_page('Theme page title', 'Theme menu label', 'manage_options', 'theme-options', 'wps_theme_func');
  add_submenu_page( 'theme-options', 'Settings page title', 'Settings menu label', 'manage_options', 'theme-op-settings', 'wps_theme_func_settings');
  add_submenu_page( 'theme-options', 'FAQ page title', 'FAQ menu label', 'manage_options', 'theme-op-faq', 'wps_theme_func_faq');
}
add_action('admin_menu', 'theme_options_panel');

function wps_theme_func(){
		echo '<div class="wrap"><div id="icon-options-general" class="icon32"><br></div>
		<h2>Theme</h2></div>';
}
function wps_theme_func_settings(){
		echo '<div class="wrap"><div id="icon-options-general" class="icon32"><br></div>
		<h2>Settings</h2></div>';
}
function wps_theme_func_faq(){
		echo '<div class="wrap"><div id="icon-options-general" class="icon32"><br></div>
		<h2>FAQ</h2></div>';
}

Note: If this is your first time adding code snippets in WordPress, then please refer to our guide on how to properly add code snippets in WordPress, so you don’t accidentally break your site.

If you liked this code snippet, please consider checking out our other articles on the site like: 25 best WooCommerce plugins to grow your sales rapidly and how to create a job application form in WordPress.

Comments   Leave a Reply

  1. thanks its work !

  2. very simple and clear, thanks

  3. Jailson Pacagnan Santana April 27, 2020 at 8:47 pm

    Thanks! God Bless You

  4. worked! Thanks!

  5. respect!Thankyou!

  6. Savanolka Gardouchtra May 30, 2019 at 4:39 am

    Thank you sir!

  7. Akhtarujjaman Shuvo March 22, 2019 at 2:58 pm

    Millions of thanks

  8. Luis Miguel Devloper June 16, 2015 at 4:51 pm

    +1, translate to Spanish and refered you

  9. Excellent, very good. Thanks for you help. I have a question, how can visuality this menu at the rol “invitador” ? for example:

    $result = add_role( ‘invitador’, __(‘Invitador’ ),array(

    ‘theme_options_panel’ => true,

    )); ??

    Thanks my friend

  10. grupobrasilonline May 2, 2014 at 4:58 am

    Nice man! Simple and direct, 2 hours searching this solution in google and nothing lol

    You is the dude haha

    1. Glad to see you found us 🙂 make sure you bookmark wpsnipp we have more than just

      add_menu_page and add_submenu_page… Enjoy!

  11. grupobrasilonline May 2, 2014 at 4:58 am

    Nice man! Simple and direct, 2 hours searching this solution in google and nothing lol

    You is the dude haha

  12. grupobrasilonline May 2, 2014 at 4:58 am

    Nice man! Simple and direct, 2 hours searching this solution in google and nothing lol

    You is the dude haha

  13. grupobrasilonline May 2, 2014 at 4:58 am

    Nice man! Simple and direct, 2 hours searching this solution in google and nothing lol

    You is the dude haha

  14. grupobrasilonline May 2, 2014 at 4:58 am

    Nice man! Simple and direct, 2 hours searching this solution in google and nothing lol

    You is the dude haha

  15. grupobrasilonline May 2, 2014 at 4:58 am

    Nice man! Simple and direct, 2 hours searching this solution in google and nothing lol

    You is the dude haha

  16. Is it posible to add a top level item with current user info (avatar, username, first and last name, something like the top right user info pannel in the admin bar. I want to do this because i didnt find any solution for front end posting that fits all my needs so Ill let user post fron the backoffice but I want to make a really cool experience by adding some cool stuff in the admin area. Heres and example https://dl.dropboxusercontent.com/u/12646264/example-user-info-pannel.jpg

    1. Hi Aeonx,

      I don’t think so as add_menu_page would only except specific parameters. The only thing I could think of would be to try and add HTML within the title. The problem is that would be placed within an anchor. The other option would be to insert something into the footer of the admin then use javascript to remove and place it into the admin menu after the fact. Keep in mind this is not something I have looked into so may be an easier way.

      1. Alberto Hartzet March 12, 2014 at 10:00 am

        Ok thankyou, I’ll try the foother thing.

  17. Is it posible to add a top level item with current user info (avatar, username, first and last name, something like the top right user info pannel in the admin bar. I want to do this because i didnt find any solution for front end posting that fits all my needs so Ill let user post fron the backoffice but I want to make a really cool experience by adding some cool stuff in the admin area. Heres and example https://dl.dropboxusercontent.com/u/12646264/example-user-info-pannel.jpg

  18. Thanks

  19. Thanks very much m searching this code from the one day. thanx alot…..

  20. php developer June 28, 2013 at 3:35 am

    its working well thanks

  21. php developer June 28, 2013 at 3:33 am

    thanks very much its working….

  22. Thanks, it helped a lot!

    1. Cool glad to hear it!

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our privacy policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

WordPress Launch Checklist

The Ultimate WordPress Launch Checklist

We've compiled all the essential checklist items for your next WordPress website launch into one handy ebook.
Yes, Send Me the Free eBook!