Version 1.3

WP Hide Dashboard version 1.3 was released on 2/11/2009 for WordPress 2.7.1.

Description: This plugin removes the Dashboard menu, the Tools menu, and the Help link on the Profile page, and prevents Dashboard access to users assigned to the Subscriber role. Useful if you allow your subscribers to edit their own profiles, but don't want them wandering around your WordPress admin section.

Users belonging to any of the other WordPress roles will continue to see the Dashboard link and the Tools menu, and have access to the other sections of the WordPress admin that corresponds to their role's capabilities.

What's New:

  • Fixed error in WordPress version checking.


WP Hide Dashboard, Version 1.3 (2.6)
Screenshot of the upper-left portion of 2.6 admin section

WP Hide Dashboard, Version 1.3 (2.7)
Screenshot of the upper-left portion of 2.7 admin section

Note: Comments are closed for this version. Please update to the latest version of the plugin and post comments/questions on the page for that version.

64 Responses to Version 1.3

  1. btp says:

    Kim-- thanks for the plugin! It's great. One note-- you may want to update the download link you provide in the post above-- it still links directly to your v1.1 zip, maybe just link to the WP page for your plugin, which has the link for v1.3. (

    • Kim says:

      @btp: Thanks for the heads-up on the link! I thought I had already fixed that before, but guess I missed it. Glad you like the plugin!

  2. Danny says:

    im trying to make a plugin that will only show items to people logged in at a certain level of access, i have 3 access levels, and havent found a plugin that only shows content based on access level so ive been trying to piece together code to make a plugin and have tried several things to determine the level of access of the currently logged in user

    i was for php help on getting either the user role access level or the user role name and then displaying content based on their level...

    i already have a plugin which displays or hides content i just need the code on how to determine user role level / or user role name to add to the plugin

    ive tried

    global $userdata;
    $zlev = 0;
    get_currentuserinfo() ;
    if (!current_user_can('level_1')) $zLev = $zLev + 1;
    if (!current_user_can('level_2')) $zLev = $zLev + 1;
    if (!current_user_can('level_3')) $zLev = $zLev + 1;
    if (!current_user_can('level_4')) $zLev = $zLev + 1;
    if (!current_user_can('level_5')) $zLev = $zLev + 1;
    if (!current_user_can('level_6')) $zLev = $zLev + 1;
    if (!current_user_can('level_7')) $zLev = $zLev + 1;
    if (!current_user_can('level_8')) $zLev = $zLev + 1;
    if (!current_user_can('level_9')) $zLev = $zLev + 1;
    echo $zLev;

    BUT every single time it displays the number 9 no matter what access level the account is im signed in as

    ive also tried using

    if ($current_user->wp_capabilities['subscriber'] == 1) {

    i dont remember what the outcome of that was but it didnt help... ive tried several other things too, please advise, thanks...

    • Kim says:

      Danny: I'm going to recommend that you take a look at a couple of plugins to see if they already do what you're trying to accomplish:

      -Role Scoper

      Both allow you to easily refine permissions. wpNamedUsers goes further by allowing you to refine those permissions down to the individual user.

      • Danny says:

        -wpNamedUsers would be helpfull if instead of using its own GROUPS list it used the already existing wordpress user ROLES list.

        -RoleScooper ive already tried digging through its source code but cant determine which variables are loaded that tell the current users ROLE, or how to load them.

        If someone could help me either by
        1) telling me the variable(s) that contain the current users ROLE, and how to read them


        2) editing / telling me what to edit in the wpNamedUsers code to load the User ROLES list instead of the Groups list it would be much appreciated.

        ( shouldnt it just be a matter of changing whichever variable is read for GROUPS to one that loads the list of user ROLES? like UserRole$ or something?)

  3. Brian says:

    Hello, it is possible to hide the dashboard and tools menu with users on the Contributer role with this plugin as well?

    • Kim says:

      Brian: Open wp-hide-dashboard.php in a plain text editor and do a search for edit_posts and replace it with upload_files, then reupload that file to your server.

      That will hide the links to the dashboard, the tools menu, and the Help menu at the top for both subscribers and contributors. You will have to remember to make that change again when a new version of the plugin is released.

  4. Top says:

    Thanks for the plugin! It’s great. I need It !!!
    One note:
    I have installed WP 2.7.0 and now in the admin panel I have a little text to said me updated to the ultimate version of wordpress 2.7.1

    If I activate your plugin and entry to de admin panel with suscpritor user, I see the same text to said me updated to the ultimate version of wordpress 2.7.1

    Is possible to remove this text for the suscrpitor user in the next plugin update??

    Sorry for my bad english level !!!

  5. Mario says:

    I just created a new blog site with WordPress, upgraded to 2.7.1 and then I installed your plugin with no success.

    I have a test user setup for the Subscriber role and when I log in with that user I still see everything.

    Is anyone else having this issue with 2.7.1 or is it something I did wrong?

    • Kim says:

      Mario: What version of WP Hide Dashboard are you using? Also, what other plugins do you have installed/activated?

      • Mario says:

        Hi Kim:

        Here are my plugins with versions:

        Akismet 2.2.3
        Role Manager 2.2.3
        Simple Trackback Validation 2.1
        Sociable 3.0.2
        WP Hide Dashboard 1.3

        I have tried de-activating all plugins except the WP Hide Dashboard and I still had the same issue.

        I did have IWG Hide Dashboard 1.0.3 installed originally but removed it once I found your plugin.

        • Kim says:

          Mario: I think that there is some kind of conflict between my plugin and the Role Manager plugin.

          1. Are you using the Role Manager plugin for anything other than trying to hide the dashboard (other custom roles)?

          2. When you deactivated IWG Hide Dashboard, did you remove the custom capability hide dashboard from the roles that you assigned it to and delete that capability completely?

          I do know that when you deactivate the Role Manager plugin, it doesn't remove all of the entries from the options table in the database, so there may still be old data from that plugin that is interfering. You can read another user's experience with trying to remove the Role Manager plugin in the forum for more details.

  6. shawn says:

    Awesome! Great job!! Works perfectly.

  7. Adrian says:

    This plugin is just what i was looking for, good work! It should really be in the core WP rather than a plugin

    What would be even better is if you could hide the new version of WordPress notification that appears along the top. Removing all traces of WP from the subscriber page is the dream!

    • Kim says:

      Adrian: Glad that the plugin is working well for you.

      I listed a link to a plugin earlier in the comments that hides the update notice in the WordPress admin section from all users other than the admin: Hide Update Reminder by SarahG. I'm using it on several sites and it works fine. :)

  8. Awesome plugin! Here's a tweak I made to have *only* admins able to view the Dashboard...

    Change !current_user_can('edit_posts') to !current_user_can('edit_users')

    That way, it also hides the Dashboard from editors, which was my goal for the plugin.

    • Kim says:

      Zoinks: I'm glad that the plugin works for you. Please remember that you'll have to edit the plugin and make that change again when a new version is released.

      Mary: You're welcome! I have looked into removing the Gears link before, and was unable to do so.

  9. Mary H. says:

    Thank you so much! This plugin was just what I was looking for.

    Is there a way to hide the Gears link at the top of the page? My subscribers won't have any use for Gears. As many of them aren't websavvy, I think it's just going to end up confusing them.


    Mary H.

  10. karan says:

    hi kim
    first of all great plugin. But in case, i just want to turn on the recent comments section??

    • Kim says:

      From Karan:
      But in case, i just want to turn on the recent comments section??

      Why would you want to allow subscribers to see recent comments in the WordPress admin area? They should be looking at the recent comments listed somewhere on the public side of your blog.

  11. Pete says:

    Awesome plugin! Here's a tweak I made to have *only* admins able to view the Dashboard…

    Change !current_user_can('edit_posts') to !current_user_can('edit_users')

    That way, it also hides the Dashboard from editors, which was my goal for the plugin.

    it still redirects the user to the dashboard, but just hides the dashboard menu link... any way to prevent it redirecting to the dashboard page, not just to hide the link?

    • Pete says:

      sorry, i didn't change all 3 instances of it

      • Kim says:

        Pete: Yes, there are 3 instances that need to be changed - glad you found the other one!

        You and Zoinks Graphics made the same changes.

        Just keep in mind that you'll need to make those changes again once I release a new version of the plugin.

        • Pete says:

          "Just keep in mind that you'll need to make those changes again once I release a new version of the plugin"

          Any chance in releasing two versions of this? Another version where ONLY the admin can see the dashboard. OR have a short tutorial like Zoinks Graphics did to explain how it's done in a readme.txt file?

          or better yet, a admin page where one can click a box to activate this?

          Thanks ;)

  12. Cristy says:

    Geez......what a great plugin!!!!

    Exactly what I needed!

    Thanks a million!!!!!

  13. Hi, I have just downloaded this, but it doesn't seem to stop the subscribers getting into the back end of the site. I am running wordpress 2.7.1. The wp member site says that your plugin has been tested only up to wordpress 2.7, does this mean that it won't work on my version??

    • Kim says:

      Tracey: The plugin works just fine with WordPress 2.7.1. Subscribers should only be able to access the Profile page in the WP admin area once it is activated. What other plugins do you have installed/activated?

  14. Robert Neuschul says:

    Like many here I'd like to thank you for the WP Hide Dashboard plugin

    Like others I've reset the test condition to ensure that only administrators get to see the dashboard.

    For interest, I've also been playing with a relatively new beta plugin - link below

    which allows one a significant degree of control over the entire administrative menu, using roles to control who does or does not have access; using this one can entirely remove the tools and user menus from all or any level of non-admin user.

    Thus, for example when using my test site primarily as a 'flat' page-based CMS, with pages as the dominant content format and posts used only for news items and no discussion/comments permitted, my top-level [no sidebar] editors menu runs [left to right]

    pages media links news profile

    But the admin menu is exactly as standard, minus the dashboard.

    This plugin does NOT conflict with your Hide Dashboard when used with WP 2.7.1.

    However, the latest instance of your Hide Dashboard is still not removing the screen options or help from the admin dashboard. I suspect I'm going to have to get busy with a text editor since I also want to remove these elements from various other pages visible to my users.

  15. rikuka says:

    This is perfect. Just what I was looking for :) Thanks a bunch!

  16. matt says:

    Sorry to say this but your plugin has stopped working on my site. I installed it rather early in the development of it and it was fine. I have added quite a few plugins since then and now the Dashboard and Tools are both showing through with a Subscriber login. Do you know of any plugins that have conflicts with your own?

    Thanks for any info you might have to share.

    • Kim says:

      matt: I have heard that the Flutter plugin causes a conflict with mine. Could you please provide a list of the plugins that you currently have installed (both active/inactive) and their version numbers? I'll take a look at the list and see if I can spot any that might be causing a problem.

      • matt says:

        Thanks for the message Kim! Here is a list of all (only took yours out) my plugins currently running:

        Akismet (2.2.3)
        All in One SEO Pack (1.4.91)
        Breadcrumb Navigation XT (1.7)
        Contact Form 7 (
        Disable RSS (1.0)
        FAQ-tastic (1.0.9)
        Google XML Sitempas (3.1.2)
        Gravatars2 (2.7.0)
        gravatars2 wp-cron (1.1)
        hide update reminder (1.0)
        maintenance mode (4.3)
        page menu editor (1.5)
        really simple captcha (1.0)
        register plus (3.5.1)
        search unleashed (0.2.27)
        smart youtube (3.1)
        wordpress database backup (2.2.2)
        wordpress download monitor (3.0.6)
        WP-reCAPTCHA (2.9.4)
        wp-table (1.52)
        Your Members- Membership (1.4.5)

        While compiling this it occurred to me that the issue could also be affected by my file permissions as I have been having bugs in other plugins caused by this. Are there any special considerations for file permissions that I should have in mind?


  17. Josh says:

    Thanks for this plugin! I'm using Social Access Control to create different user groups, and I didn't need the Dashboard revealing comments on posts that users weren't allowed to see, so I added $unset(menu[25]) in the midst of the other removals and it all works well.

  18. Sal says:

    First, thanks for taking the time to develop this and answer questions.

    For some reason, after activation of this plugin Subscribers are still seeing Profile menu (which is fine) as well as Settings (which only has PHP Speedy Plugin showing) and a Pods (a plugin) top level menu item.

    I guess I can add code for the specific unset menu[x] for the "Settings" and "Pods" menu, but how do I find out what the related mneu numbers are?

    Is there another way to do this?


  19. Dan says:

    Anyway to have subscribers who have already seen the profile page and/or updated it to redirect after login directly to the root index? I am designing a private access blog, so there will be a lot of subscribers who are little more than readers, and it seems a little inconvenient to have them index > login > profile > index, rather than index > login -> (autoredirect) index?

    Hints, suggestions, limitations?

  20. Zack says:

    Hey! This looks close to what im looking for. I just need to hide dashboard, tools, and help links for those in the author roles.

    anyway? plz help... thanks!

  21. Steve says:

    How can I edit your plugin to include contributors and authors in addition to subscribers. I want an author to be able to post and edit that post but that's it. No comments and no access to anything else in the Dashboard. Thanks.

  22. Erich Peterson says:

    Hi. Does your plugin work with version 2.8? Also, is there an easy way to change the code to hide the dashboard from anyone who is an Editor or below?


    • Pete says:

      2.8 yes... scroll up to see the answer to your other question

      • Kim says:

        Pete: Thanks for helping out with your reply to Erich - I appreciate it! Am taking your earlier requests under consideration, but I do not plan on releasing a separate version of this aimed at other roles besides the Subscriber role. For now it will probably be included in the readme.txt file and perhaps an FAQ section on this page (since it gets asked alot).

        • pete says:

          Cool thanks for that... would it be hard to have a very simple options page whereby there is a checkbox that alternates between the two different versions... now that would be cool(er)

          • Kim says:

            @pete: I don't have time at the moment to create the options page, but plan on working on it for a future release. Stay tuned. ;)

    • Kim says:

      Erich: Yes, you can edit the plugin and make the following change to hide the dashboard from all roles (except admin) by changing

      !current_user_can('edit_posts') to !current_user_can('edit_users')

      on lines 52, 67, and 82.

  23. ali says:

    I have installed this plugin and its just perfect for me.
    but there is something more i want out of this plugin ,
    1)my users should not see the comments tab in the menu.
    2)my users should not see the post submitted by other users.

  24. ali says:

    Hi Kim
    I wonder why my post has been removed may be because I had pasted php code with my comment if that was the reason my apologies !!
    The plugin works well for me I would really appreciate if you could help me out extending the functionality of this plug-in ....
    That my users should not see the posts of the other authors.
    I expect my users to log in, post,come back add new post or edit their own posts.That's it !
    I hope I am clear in my requirement of this plug in if I am not clear I apologize again could you please help me with this..
    Thanks in advance

    • Kim says:

      Ali: I didn't remove your post - it is there, but the php code did not come through. Let me look into your request and see if I can come up with a solution for you.

      • ali says:

        Hello Kim
        Thanks for Quote
        "Ali: Let me look into your request and see if I can come up with a solution for you."

        I will dance in joy like a kid if you could make the plug-in work my way that is...
        My authors should not be able to view other authors posts in the admin.
        "I expect my users to log in, post,come back, add new post or edit their own posts. That's it !"
        Thanks Again and I am waiting anxiously for it

  25. Fredelig says:

    Hello and thanks for this great plugin. :)

    I had to change unset($menu[55]); to unset($menu[75]); to get it to hide the Tools -> Gears menu in WordPress v2.8, but it works GREAT!

  26. Top says:

    I have problems with this plugins.
    I need to hide Dashboard to level_2 or Author role
    I change the code you said to have *only* admins able to view the Dashboard. This:

    Change !current_user_can('edit_posts') to !current_user_can('edit_users')

    I change this in three parts of the code: LINE 52, 67, 82 and upload to the server but not work in the Author role only suscriptor role .

    Thanks for all!

    • Top says:

      More information, I have the problems with WP 2.7.1

    • ali says:

      It works well on my site I am using wp 2.8
      in wp admin set default role for new registrations as the author roles and see if it works

      • Top says:

        not work.
        I have default role in author for wp admin but not work. When I acess wih the user have author role the dashboard is visible.

        • Kim says:

          Top: Sounds like a possible conflict with another plugin. Are you running any other plugins that affect/manage roles and capabilities, such as Role Manager, Role Scoper, etc? Could you list the plugins (and their version numbers) that you have installed (active and inactive)?

          Ali: You don't have to change the default role for new subscriptions for this plugin to work. If the changes are made to block roles higher than Subscriber, it will do so regardless of what the value is for that setting.

          • Top says:

            Hello Kim.
            Now my plugins are installed and active:
            -custom admin branding 1.3.4
            -register plus 3.5.1
            - and your plugins - WP Hide Dashboard 1.3

            An Inactive have now:
            - Akismet
            - Hello dolly

            I reinstall your plugins and renew the code but not work. the same problems. only works with suscribe user, auhtor user not works with the plugins

            • Kim says:

              @Top: Make sure you've updated to the latest version (1.4) and made the changes to exclude both the Subscriber and Author roles (see FAQ above). Deactivate all of the plugins, then reactivate my plugin first and test to see if it works properly. If so, then reactivate the other two plugins, one at a time, and test again after each one to see if either of them are causing a conflict. Let me know what you find out please.

  27. nigel says:


    I can't find this code in my sidebar login to replace it with the one you said.
    was that an older version?

    echo '
    	<a href="'.get_bloginfo('wpurl').'/wp-admin/profile.php" rel="nofollow">'.__('Profile').'</a>
    	<a href="'.current_url('logout').'" rel="nofollow">'.__('Logout').'</a>
    • Kim says:

      @nigel: There is a more recent version of the Sidebar Login plugin (2.2.4). I have not worked with that version yet, but will take a look and see if I can update the information that needs to be changed, and post it here.

      Update: It looks like version 2.2.4 of the Sidebar Login plugin has an options page where you can now configure it to only show the Dashboard link (or any other links) to admin users by adding |true after the link. See example below for hiding Dashboard link:

      <a href="http://www.yourdomain.tld/wp-admin/" rel="nofollow">Dashboard</a>|true

      This would hide it from all users (Subscriber through Editor) when they are logged in.

Comments are closed.