Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Disable WordPress Admin Bar for All Users Except Administrators

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Do you want to disable the WordPress admin bar for all users except administrators?

By default, you can easily disable the WordPress admin bar for individual users. However, this can take time if you have lots of registered users on your site.

In this article, we will show you how to easily disable the WordPress admin bar for all users except administrators.

How to disable WordPress Admin Bar for All Users except administrators

What Is the WordPress Admin Bar?

By default, WordPress shows an admin bar at the top of the screen for all logged-in users. When you are logged into your account, you can see this toolbar in the WordPress admin area and all other pages.

The WordPress admin bar

The WordPress admin toolbar has useful shortcuts to different backend areas of WordPress, and these shortcuts change based on a user’s role and permissions in WordPress.

However, the admin bar can be distracting when you are looking at the front end of your website.

It may also affect your website’s design and user experience. This can be a problem if you are building or managing a WordPress site for a third party, as it stops them from seeing what their website really looks like.

Luckily, there are multiple ways to disable the admin bar for all users except administrators. Simply use the quick links below to jump to the method you want to use:

Video Tutorial

Subscribe to WPBeginner

If you prefer written instructions, then just keep reading.

Method 1: Disable the WordPress Admin Bar for Individual Users

You can disable the admin bar for specific users by simply editing their user profile. This is a quick and easy method if you just need to remove the bar for a small number of people. However, if you run a membership site with a lot of users, then we recommend choosing a different method.

To remove the admin bar manually, simply go to the Users » All Users page in the WordPress admin dashboard. Then hover your mouse over the user who doesn’t need the admin bar, and click on ‘Edit’ when it appears.

How to edit a user's profile in WordPress

This will bring open that user’s profile.

From here, uncheck the box next to the ‘Show toolbar when viewing site’ option.

How to hide the admin toolbar for non-admin users

After that, scroll to the bottom of the screen and click on ‘Update User’ to save your changes. This will disable the admin bar for that specific person only.

To hide the toolbar for more users, simply follow the same process described above.

Method 2: Disable Admin Bar for All Users Except Admins (Recommended)

If you need to hide the admin bar for lots of different people, then changing each user’s settings manually would take a lot of time and effort.

For that reason, we recommend disabling the admin bar by adding code to the functions.php file, which is a WordPress theme file. If you haven’t done this before, then check out our guide on how to copy and paste code snippets in WordPress.

Some guides will tell you to edit the theme files manually, but this can cause common WordPress errors and may even completely break your website.

For that reason, we recommend using WPCode. It is the best code snippet plugin and makes it easy to add custom code in WordPress without putting your site at risk.

First, you will need to install and activate the free WPCode plugin. For more information, see our step-by-step guide on how to install a WordPress plugin.

Once the plugin is activated, go to Code Snippets » Add Snippet.

Hiding the admin toolbar using WPCode

Here, you will see all the pre-made snippets you can add to your site. This includes a snippet that allows you to completely disable comments, upload file types that WordPress doesn’t usually support, disable attachment pages, and much more.

On the next screen, you need to hover your mouse over the ‘Add Your Custom Code (New Snippet)’ option and click the ‘Use snippet’ button when it appears.

Adding custom code to your WordPress website with WPCode

On the next screen, type in a title for the code snippet. This is just for your reference, so you can use anything you want.

Then, open the ‘Code Type’ dropdown and choose ‘PHP Snippet’.

Adding a PHP snippet to WordPress using WPCode

With that done, simply paste the following code to the editor:

add_action('after_setup_theme', 'remove_admin_bar');
function remove_admin_bar() {
if (!current_user_can('administrator') && !is_admin()) {
  show_admin_bar(false);
}
}

This code identifies any non-admin users who are not currently looking at the admin dashboard. For these users, it disables the WordPress admin bar.

After that, scroll down the page to the ‘Insertion’ section. Here, you can keep the default’ Auto Insert’ method to make sure the code runs everywhere.

Automatically inserting code into a WordPress website

Finally, scroll to the top of the screen and click on the ‘Inactive’ slider so that it shows ‘Active.’

Then, just click the ‘Save Snippet’ or ‘Update’ button to make the code snippet live.

Publishing a custom code snippet to WordPress

That’s it! Just remember to check your WordPress website to make sure everything is working fine.

Method 3: Disable WordPress Admin Bar for All Users Except Admins (No Code Required)

If you don’t want to add code to your website, then you can hide the admin bar using a plugin. Hide Admin Bar Based on User Roles lets you remove the toolbar based on different user roles, so this is a good choice if you want to disable the bar for all members, WooCommerce customers, or some other user role.

First, you need to install and activate the Hide Admin Bar Based on User Roles plugin. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, you need to go to the Settings » Hide Admin Bar Settings page. From here, check the boxes next to the user roles where you want to disable the admin bar.

Hiding the admin toolbar for specific user roles

With that done, simply click on ‘Save Changes’ to store your settings.

Method 4: Disable Admin Bar for All Users (Including Admins)

Do you want to disable the admin bar for all users, including site admins?

You can do this by adding some code that disables the admin bar for everyone who is viewing your site’s public pages. This means the admin bar will only appear when you are in the WordPress dashboard area.

To make things simple, WPCode has the exact code snippet you need in its built-in Snippet Library. Simply go to Code Snippets » Library.

The WPCode code snippet plugin for WordPress

Here, search for ‘Disable The WP Admin Bar’.

When the right snippet shows up, just click on its ‘Use Snippet’ button.

The ready-made Disable The WP Admin Bar code snippet

The plugin will automatically add the code to your site, give the code a descriptive title, choose the correct insertion method, and even add tags to help you identify the snippet.

Here’s what the code looks like:

/* Disable WordPress Admin Bar for all users */
add_filter( 'show_admin_bar', '__return_false' );

Now, all you need to do is toggle the switch from ‘Inactive’ to ‘Active’ and then click on ‘Update’.

Adding custom code to WordPress

Now, if you visit your website’s front end while logged into your WordPress account, the admin bar will disappear.

We hope this article helped you learn how to disable the WordPress admin bar for all users except administrators. You may also want to see our ultimate WordPress security guide and our comparison of the best WordPress page builders for creating custom page layouts without any code.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

162 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. ronald osoo says

    This code has bug , its working but not bullet proof . The normal user can by -pass this and get access to the user admin like panel at the top by just adding wp-admin/ to the url like trying to login

      • Steve says

        A lot of websites not only from wordpress have the same option. You can acces to the admin-login page of any website just writing example.com/admin : Thats normal. I find it’s look really good without the adminbar.

  3. Alex S says

    Hello,
    I wish your syntax highlighter was better. Tried to copy the code and got the numbers starting at 2. I don’t need your numbers, just the good code. I would use this site a lot more if this was not the case.

    Thanks.

  4. Jenn says

    This plugin was working great and I was using Theme My Login. When I deactivated that plugin it is not not functioning as before… I see the admin bar for all users. Any suggestions?

    • Jenn says

      Sorry I meant to say this ‘code’ was working great. I created a site-specific plugin as well and everything was working great. But after deactivating Theme My Login, not it seems to not have any effect and I see the admin bar on all users.

      Suggestions?

      • Jenn says

        I just tried adding in the code for all users: show_admin_bar(false); and I can still see the admin bar.

  5. Jason A. Churchill says

    I’m not well-read in editing the functions.php file. My first two attempts resulted in syntax error messages.

    Where exactly should I place this code in the functions.php file?

  6. Bhris says

    Great straight-to-the-point tutorial.

    Is there a version of the code that will block all non-users. That is, visitors to the site won’t see the bar, while all logged-in users would?

    • Karen says

      Neither worked for me. I copied the numbers with the text as I did not know that I could
      click on the button on top right corner of the code snippet and copy the raw code. I removed the numbers, but overlooked the seven. I had to change the file entry in via my file manager as I could no longer edit the functions.php. So after a scare and a bit of back and forth I removed the number and the admin bar is still there. I also tried your code Shashi, but it’s not working either. :-(
      I have tried every plugin under the sun and nothing will remove the bar.

  7. Che Boielle says

    Fastest fix to an odd issue I’ve ever found and implemented. Great explanation simple to follow instructions. Thanks guys, will be book marking your site.

  8. Nathan Jansen says

    Use this if you want this only for a certain role

    function remove_admin_bar() {
    $user = wp_get_current_user();

    if (in_array(‘subscriber’, $user->roles)) {
    show_admin_bar(false);
    }
    }

  9. Paw Pet Directory says

    I used this on my directory for my customers but the bar will not go away for them. I am using 3.8 with AppThemes Vantage Theme (Latest)

  10. Cory says

    This is one of those things that, because it’s such a small customization, I’d hate to use a plugin for. So being able to throw this short piece of code into my child theme’s functions.php made me super happy. Thanks so much far sharing! Works like a charm.

  11. Naveen says

    I have added this code it is working fine, but if a user takes meta there is an option yo view the admin, if i click on this the admin page can see, how to avoid this, i dont want to give admin panel to the users, a user can edit the url and give /wp-admin also he can see the admin, i dont want both what will do for this?

  12. Subodh says

    Admin bar is hidden but now how can a user log out?
    I am using bbpress forum and a plugin for users to log in via their Facebook account to join forum. But find no option for logging out.

  13. Loralee says

    Thanks for the great tutorial. I thought it didn’t work – and then silly me I hadn’t followed the last step to activate my new plugin!! Thanks so much for this! So much better than installing multiple new plugins.

  14. Andy Wagstaff says

    I have an area of my site that requires log-in registration.
    I have made the admin bar “autohide” by requiring a plug-in, I don’t want to entirely disable it, as I need the abiity to change password, but is there any way of removing items from the bar for users? I don’t want the site name,WP logo or the theme extensions options on the left hand side.

    Is this possible? I am sure it is, but I can’t work it out!!

    Ta!! Really handy site by the way

    Andy

  15. Ken Shoufer says

    Hello,

    Your code worked fine when I tried it locally on my computer, but when I tried it on a fresh WordPress install on my host server it would not let me log out. When I tried to log out, the address showing was “http://www.ken-shoufer.com/wordpress1/wp-login.php?action=logout&_wpnonce=9e7f51a307”.

    I’m not sure what is wrong.

  16. Nate says

    i am trying to disable the W logo on the top left, the “My Sites” menu and the dashboard link on a buddypress multisite install. I want to keep the right side functional which shows the links to their buddypress profile settings. How can I achieve this?

  17. Tanner Moushey says

    To avoid the blank space where the admin bar was, call the function in the “after_setup_theme” action instead of “init”.

  18. niki says

    Fantastic! Except I also have the blank space visible where the admin bar would be. Does anyone have a fix for this?

  19. Marlita Hill says

    Hello. Thank you for this. How would I write the code if I only want the bar accessible to admin and contributors? I still do not want the contributors to have admin access to my backend.

  20. Steve says

    Well… it removes the admin bar but it´s still occupying the space meaning there´s too much space up there now. I´m not sure it´s supposed to be that way? ;-)

  21. Nick Cokas says

    Add the code and worked perfect. However, the user still sees a white space above were the toolbar existed before. Any ideas to remove that.

    Thanks

  22. Toby Couchman says

    Did you use a plugin to place all the necessary user stuff on the frontend?

    My team recently built a site with similar requirements and I’d love to compare the processes.

    Cheers
    Toby

  23. Sally says

    Excellent post thanks so much!

    Took me under a minute and the bar was gone… forever… truly grateful.

    Sally :) x

  24. Delton Childs says

    This is an awesome post. short, to the point and contained a useful snippet! Thank you so much!

    I’m using the S2Member plugin also, I was very concerned about compatibility issues with plugin based solutions because of the various s2Membership Levels. This solutions is working wonderfully for me.

    Thanks Again!

  25. James Davis says

    Hi Guys,

    Just found this bit of code and it worked perfect for my site…

    Thanks so much

    Cheers

    James

    AKA The Fitness Blogger

  26. glueckpress says

    Nice. For Superadmins in a Multisite install it would read like if(!current_user_can(‘manage_network’)) //etc.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

WPBeginner Assistant
How can I help you?

By chatting, you consent to this chat being stored according to our privacy policy and your email will be added to receive weekly WordPress tutorials from WPBeginner.