add_options_page vs. add_menu_page vs. add_submenu_page

I have recently been adding theme options to a WordPress theme.  It didn’t take long for me to get confused about the three main WordPress functions for adding menu options in the admin of WordPress: add_options_page(), add_menu_page(), and add_submenu_page().

The basic gist is this:

  • add_options_page puts a menu/link in the “Settings” menu
  • add_menu_page puts a menu/link at the same level as “Dashboard”, “Posts”, “Media”, etc.
  • add_submenu_page puts a menu/link as a child underneath “Dashboard”, “Posts”, “Media”, etc.

I hope this helps ease some confusion.

If you are looking to create your first menu item, check out this tutorial.

Posted in ,

Toby Cryns

Toby Cryns is a freelance CTO, expert WordPress consultant, and teacher.

He offers free advice to improve your freelance biz.

He also publishes small droppings every now and then to and

Follow Toby's contributions on Github and