In this short tutorial, we’ll show you ways to add various menus to the WordPress admin dashboard.
Add menu item hook
This code snippet will add a menu menu item to the left side of the wordpress admin dashboard using the method
add_menu_page
add_menu_page
.
public static function admin_menu() {
add_menu_page(__('Menu 1','menu-test'), __('Menu 1','menu-test'), '', 'mt-top-level-handle','menu title', plugins_url( 'Menu/favicon.png' ), null);
public static function admin_menu() {
add_menu_page(__('Menu 1','menu-test'), __('Menu 1','menu-test'), '', 'mt-top-level-handle','menu title', plugins_url( 'Menu/favicon.png' ), null);
}
public static function admin_menu() {
add_menu_page(__('Menu 1','menu-test'), __('Menu 1','menu-test'), '', 'mt-top-level-handle','menu title', plugins_url( 'Menu/favicon.png' ), null);
}
Adding menus with submenus which hovers out
The code below will create a submenu attached to the main menu which hovers out on mouseover. Using the
add_submenu_page()
add_submenu_page()
method.
add_submenu_page('mt-top-level-handle', __('menu 2','menu-test'), __('menu 2','menu-test'), 'manage_options', 'menu_2', array ( __CLASS__, 'menu_2' ));
add_submenu_page('mt-top-level-handle', __('menu 2','menu-test'), __('menu 2','menu-test'), 'manage_options', 'menu_2', array ( __CLASS__, 'menu_2' ));
add_submenu_page('mt-top-level-handle', __('menu 2','menu-test'), __('menu 2','menu-test'), 'manage_options', 'menu_2', array ( __CLASS__, 'menu_2' ));
Removing Admin Menu item
These methods will remove items from the menu. Using the
remove_submenu_page()
remove_submenu_page()
method.
remove_menu_page(string $menu_slug);
remove_submenu_page( 'themes.php', 'widgets.php' );
remove_menu_page(string $menu_slug);
remove_submenu_page( 'themes.php', 'widgets.php' );
remove_menu_page(string $menu_slug);
remove_submenu_page( 'themes.php', 'widgets.php' );
Wrapping the menu system into its own method and invoke with wordpress hooks
The code below, will organise the menu system into its own method and using
add_action()
add_action()
add_action( 'admin_init', array( 'Admin', 'admin_init' ) );
add_action( 'admin_menu', array( 'Admin', 'admin_menu' ), 5 );
public static function admin_menu() {
add_menu_page(__('Admin','menu-test'), __('Admin','menu-test'), '', 'mt-top-level-handle','statistics', plugins_url( 'Admin/favicon.png' ), null);
add_submenu_page('mt-top-level-handle', __('Admin Summary','menu-test'), __('Visitor Summary','menu-test'), 'manage_options', 'Admin_stats', array ( __CLASS__, 'Admin_stats' ));
add_submenu_page('mt-top-level-handle', __('Admin Configuration','menu-test'), __('Configuration','menu-test'), 'manage_options', 'Admin_configuration', array ( __CLASS__, 'Admin_configuration' ));
add_submenu_page('mt-top-level-handle', __('Admin FAQ','menu-test'), __('FAQ','menu-test'), 'manage_options', 'Admin_faq', array ( __CLASS__, 'Admin_faq' ));
add_action( 'admin_init', array( 'Admin', 'admin_init' ) );
add_action( 'admin_menu', array( 'Admin', 'admin_menu' ), 5 );
/**
* Create the Menu System
*/
public static function admin_menu() {
add_menu_page(__('Admin','menu-test'), __('Admin','menu-test'), '', 'mt-top-level-handle','statistics', plugins_url( 'Admin/favicon.png' ), null);
add_submenu_page('mt-top-level-handle', __('Admin Summary','menu-test'), __('Visitor Summary','menu-test'), 'manage_options', 'Admin_stats', array ( __CLASS__, 'Admin_stats' ));
add_submenu_page('mt-top-level-handle', __('Admin Configuration','menu-test'), __('Configuration','menu-test'), 'manage_options', 'Admin_configuration', array ( __CLASS__, 'Admin_configuration' ));
add_submenu_page('mt-top-level-handle', __('Admin FAQ','menu-test'), __('FAQ','menu-test'), 'manage_options', 'Admin_faq', array ( __CLASS__, 'Admin_faq' ));
}
add_action( 'admin_init', array( 'Admin', 'admin_init' ) );
add_action( 'admin_menu', array( 'Admin', 'admin_menu' ), 5 );
/**
* Create the Menu System
*/
public static function admin_menu() {
add_menu_page(__('Admin','menu-test'), __('Admin','menu-test'), '', 'mt-top-level-handle','statistics', plugins_url( 'Admin/favicon.png' ), null);
add_submenu_page('mt-top-level-handle', __('Admin Summary','menu-test'), __('Visitor Summary','menu-test'), 'manage_options', 'Admin_stats', array ( __CLASS__, 'Admin_stats' ));
add_submenu_page('mt-top-level-handle', __('Admin Configuration','menu-test'), __('Configuration','menu-test'), 'manage_options', 'Admin_configuration', array ( __CLASS__, 'Admin_configuration' ));
add_submenu_page('mt-top-level-handle', __('Admin FAQ','menu-test'), __('FAQ','menu-test'), 'manage_options', 'Admin_faq', array ( __CLASS__, 'Admin_faq' ));
}