Request Quote

How to add menu in WordPress admin panel

Menu in WordPress admin panel – In this post we see how we can add custom menu to admin sidebar. Sometimes when we work with plugins or theme and we need to show some features or any information in admin page then we can use this code snippet to create the same.

As we know WordPress provide hook using which we can easily add custom admin menu. So, for this we’ll use ‘admin_menu’ hook and add action to this hook

1. Creating menu –

Add this code in functions.php file of your plugin or theme.

add_action('admin_menu', 'custom_menu');


In above line of code, first parameter is the hook we discuss about, Second parameter is name of callback function. In callback function you have to write what you want to alter in admin menu.

function custom_menu() { 

      'Page Title', 
      'Menu Title', 



As you can see in custom_menu() function I just used add_menu_page(). This function allow you to create a menu in admin sidebar and map that menu to a page.


In custom_menu() function

  • First parameter is page title. the title tag of the page when the menu is selected..
  • Second parameter is menu title. The text to be used for menu title.
  • Third one is capability, The capability required for this menu to be displayed to the user. You can find a list of all WordPress capabilities here –
  • Fourth parameter is menu slug, which is used for creating page URL. Keep this unique.
  • Fifth parameter is page callback function. The function to be called to output the content for this page.
  • Sixth parameter is for icon, either you can provide a URL of image or you can choose predefined WordPress icons.



Reference –



Still have any issue feel free to add a ticket and let us know your views to make the code better

Thanks for Your Time! Have a Good Day!

. . .

Comments (4)

Add Your Comment

  • Ben
    add_action(‘newsflash’, ‘newsflash’);
    function custom_menu() {

    ‘dashicons-welcome-widgets-menus’, 90);

    // remove admin bar
    // add_filter(‘show_admin_bar’, ‘__return_false’);


    There is a syntax error, unexpected ‘show_admin_bar’ (T_STRING), expecting ‘)’ please help with the menu code and the error, relatively new to PHP. Sorry 🙁

    • Mohit Verma
      Hello Ben,


      Thanks for the comment.

      We have checked your issue.

      add_action(‘newsflash’, ‘newsflash’);

      It’s not a right way to use admin hook.

      Please use updated code.

      add_action(‘admin_menu’, ‘custom_menu’);

      ‘admin_menu’ : it’s a hook tag use for admin menu.
      ‘custom_menu’ : it’s a callback function use to do the all stuffs.

      If you have any query, feel free to ask. We are here to help you.

      Thanks & Regards

      Mohit verma

  • pradeep
    –submenu notshowing issue—
    add_menu_page(‘Safety Checklist’, ‘Safety Checklist’, ‘manage_options’, ‘option_checklist.php’, ”, ‘dashicons-welcome-widgets-menus’, 90);
    add_submenu_page(‘checklist_category.php’, ‘Manage Checklist Category’, ‘Manage Checklist Category’, 82, ‘checklist_category.php’, ‘checklist_category.php’);
    • Mohit Verma

      We have checked and fixed your issue.

      Please use all the parameters in right way.

      Updated code:

      add_menu_page(‘Safety Checklist’, ‘Safety Checklist’, ‘manage_options’, ‘option_checklist’,’option_checklist’, ‘dashicons-welcome-widgets-menus’, 90);
      add_submenu_page(‘option_checklist’, ‘Manage Checklist Category’, ‘Manage Checklist Category’,’manage_options’,’option_checklist_submeu’,’option_checklist_sub’);


      option_checklist is a callback function of main menu.
      option_checklist_sub is a callback function of sub-menu.

      do all the stuffs in callback functions.

      Still have any issue feel free to add a ticket and let us know your views to make the code better

  • css.php
    Hire Us!
    Brief us about your requirements and we'll get back to you.
    Woo! Hooy!
    We have just recieved your project brief and our expert will contact you shortly.
    Send Again