I have created a function for a theme customization.
function create_theme_option() {
add_menu_page( 'Manage Options', //Page Title
'Theme Option', //WP Administrator Menu Title
'manage_options', //
'theme-options', //Link to a page to your Administration Area
'deploy_theme_options', //Function Name
get_template_directory_uri() . '/Plugins/Background Changer/images/icons/icon.png',//Menu Icon
99);
add_submenu_page("theme-options", "Theme Settings", "Theme Settings", 1, "theme-settings", "theme_settings");
add_submenu_page("theme-options", "Manage Header", "Manage Header", 1, "manage-header", "manage_header");
add_submenu_page("theme-options", "Social Media", "Social Media Links", 1, "social-media", "social_media");
add_submenu_page("theme-options", "Catalog Manager", "Catalog Manager", 1, "catalog-manager", "catalog_manager");
}
but I noticed that after the label “Theme Option” there is another text appear next to it as “Theme Option”. Check the Image below:
How can I fix this? Please help!
@Basharat was pretty close. Here is a cleaner way I use in my plugins:
Source: Coffee, trial and error 😉
For fix this issue you can use the remove_submenu_page,
http://codex.wordpress.org/Function_Reference/remove_submenu_page.
example:
remove_submenu_page (‘my-menu-slug’,’my-menu-slug’)
Please use below to remove the duplicate entry of Menu in Sub-Menu.
I think you should check the capability parameter which should not be 99
http://codex.wordpress.org/Function_Reference/add_menu_page
The only working way i found is to set the
add_menu_page
$capabilties to unknown, so something like'unknown'
, this will hide the page or the submenu, but the menus will still be shown on the left side.