0

I have added an admin page in wordpress but i needed it to be hidden.I added the page successfully like this

function add_admin_page()
{
$themename = 'Cesaro';
$page_function = 'admin_page';
add_menu_page($themename." Options", $themename, 'edit_themes', $page_function, 'admin_page');
}
add_action('admin_menu', 'add_admin_page');

To hide it,i looked at its css using firebug and discovered a pattern or so it seems.Pages added in the format i demonstrated have a css id that starts with #toplevel_page_{page_added} so the css id to the page i added is #toplevel_page_admin_page.

I went ahead and did

#toplevel_page_admin_page{
display:none !important;
}

Is this format #toplevel_page_{page added} consistent with all wordpress installations?.

3
  • 3
    Why do you want to hide it? There are ways to enable such pages for some selected users only, wouldn’t that be better?
    – fuxia
    Jul 26, 2012 at 11:31
  • Oh yeah,that's clever so i plan to do this if ( !is_user_logged_in() || !current_user_can('edit_posts') ) wp_die(__("You are not allowed to be here"));.
    – Gandalf
    Jul 26, 2012 at 14:17
  • I made some correction to the question.The title should have been how to hide the added admin page menu and not the entire page.
    – Gandalf
    Jul 26, 2012 at 14:26

1 Answer 1

0

WordPress already takes care of that for you. The third argument in your add_menu_page function, which reads edit_themes is the capability required to access the page. If the user doesn't have that capability he can't access the page, so WordPress won't show him that option on the menu. Clever, no?

Now, from the code you mention on your comments, you're restricting the page to user who can edit_posts. If that's what you want, just use that on the add_menu_page function instead. Otherwise, it doesn't make sense.

PS: If you're planning to add a theme options page, I'd suggest using the add_theme_page function instead, which will nest it within the Appearance section of the menu.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.