Some readers have asked us how to disable the WordPress admin bar. While it’s a small tweak, some users prefer to do this for various reasons, such as maintaining a cleaner user interface or enhancing the user experience for non-admin users.
By default, you can easily disable the WordPress admin bar for individual users. However, this can be time-consuming if you have a large number 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.
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 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
If you prefer written instructions, then just keep reading.
Method 1: Change Each User’s Permissions in WordPress
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 WordPress user who doesn’t need the admin bar, and click on ‘Edit’ when it appears.
This will bring open that user’s profile.
From here, uncheck the box next to the ‘Show toolbar when viewing site’ option.
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: Use Code to Disable Admin Bar for Non-Admin Users (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.
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.
We’ve used WPCode to change the admin color scheme, remove the ‘Howdy Admin’ text, disable the Screen Options button, and more.
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.
Here, you will see all the pre-made snippets you can add to your site.
In fact, WPCode has the exact code snippet you need to disable the admin bar in its built-in Snippet Library. Simply go to Code Snippets » Library.
Here, search for ‘Disable The WP Admin Bar’.
When the right snippet shows up, just click on its ‘Use Snippet’ button.
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, if your goal is to disable the admin bar for all users, then all you need to do is toggle the switch from ‘Inactive’ to ‘Active’ and then click on ‘Update’.
However, since our goal is to disable the WordPress admin bar for non-admin users, then we need to make some small tweaks to the code.
You can replace the existing code with the following:
/* Disable WordPress Admin Bar for all users except administrators */
add_filter( 'show_admin_bar', 'restrict_admin_bar' );
function restrict_admin_bar( $show ) {
return current_user_can( 'administrator' ) ? true : 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.
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.
That’s it! Just remember to check your WordPress website to make sure everything is working fine.
Method 3: Use a Free Plugin to Disable Admin Bar for Non-Admin Users
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.
With that done, simply click on ‘Save Changes’ to store your settings.
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 guide on how to get email notifications for post changes in WordPress and our expert picks of the best WordPress activity log and tracking plugins.
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.
Jiří Vaněk
This is really very useful for a website with multiple authors. I applied it almost immediately after reading about it. I hadn’t paid much attention to this issue before, but since I recently completed a website with multiple authors, this tutorial was very timely, and once again, you led me to an interesting modification that improves security.
Livingstone
Causing an error when activated
WPBeginner Support
It would depend on what method you are using as well as the error for us to be able to assist. If you reach out using our contact form our support team should be able to assist you further
Admin
Dayo Olobayo
Thank you for the article but please is there a way to style the admin bar to my choice?
WPBeginner Support
For that we would recommend taking a look at our article below!
https://www.wpbeginner.com/beginners-guide/how-to-customize-wordpress-admin-area-dashboard-for-beginners/#customizeadmintoolbar
Admin
Hajjalah
I have a Question and Answer plugin on my blog which automatically adds admin bar for all users whenever i make an update on it. I am glad that WPCode has completely disabled this annoying feature. Thanks WPBeginner for the helpful article.
WPBeginner Support
You’re welcome!
Admin
Moinuddin Waheed
This is very needed to hide the admin bar to all the user’s except the administrator.
I have thought of doing this multiple times over specially when I was running news website and I had many authors and contributors.
Showing them admin bar is not only unnecessary but annoying too.
Really appreciate for the steps to get rid of this admin bar and keep it for only the administrator.
Amos Showole
Wow… This is great, you solved an issue I faced with on one of my WordPress website that BuddyPress was installed on….
WPBeginner Support
Happy to hear our guide was helpful!
Admin
Hussam H
Thank you and bless you.
WPBeginner Support
You’re welcome!
Admin
Paul
Using the after_setup_theme hook doesn’t always work. Try this instead:
function remove_admin_bar( $value ) {
return ( current_user_can( ‘administrator’ ) ) ? $value : false;
}
add_filter( ‘show_admin_bar’ , ‘remove_admin_bar’);
Matthew D Henderson
Thank you for providing four different ways to do this. Perfect
WPBeginner Support
Glad you found our recommendations helpful
Admin
Joey
What would be the code if I want to add Editor and Admin to show the Admin bar..
if (!current_user_can(‘administrator’) && !is_admin())…
if (!current_user_can(‘editor’) && !is_editor())…
would it be if (!current_user_can(‘administrator’) && !is_admin() || !current_user_can(‘editor’) && !is_editor())
would this work?
WPBeginner Support
For what you are wanting, you would want to remove: && !is_editor()
Then it should work how you are wanting.
Admin
Basia
Hi,
I hide admin bar with plugin You recommend, but when subscriber log in he can still click on “view my profile” and see wp dashboard. Can I disable that?
WPBeginner Support
You can redirect users after login using the method from our guide below:
https://www.wpbeginner.com/plugins/how-to-redirect-users-after-successful-login-in-wordpress/
Admin
Deewinc
Thanks for the article but method 3 doesn’t work.
WPBeginner Support
If method 3 is not working for you, we would recommend trying one of the other methods to test.
Admin
Dipesh Vedak
what if theme upgrades?
WPBeginner Support
If you created a site-specific plugin it would remain.
Admin
Brandon Porter
Worked like a charm. Thank you!
WPBeginner Support
You’re welcome, glad our guide was helpful
Admin
Bryan E Jackson
Doesn’t seem to work for my Divi Theme
WPBeginner Support
You may want to try clearing your cache for the most common reason for the change not being visible.
Admin
Paul
What exactly does this disable? I still see an admin bar and I have access to menu options when I go to example.com/wp-admin when i’m logged into a subscriber account.
WPBeginner Support
You would want to ensure the code was properly added for the most likely cause of the admin bar not being hidden otherwise, you could also have a plugin that would be overriding this code.
Admin
Jürgen
Thanks. Just what I needed
WPBeginner Support
Glad our guide was helpful
Admin
khaoula
Thanks a lot ,but what to do if the user wants to logout ?
WPBeginner Support
You can add a logout link to your menu for one option, we have a guide on how to do that below.
https://www.wpbeginner.com/wp-tutorials/how-to-add-the-wordpress-logout-link-to-navigation-menu/
Admin
Kaetech
Thanks a lot. Just what I needed. It worked.
WPBeginner Support
You’re welcome, glad our guide was helpful
Admin
Marc Korden
Cannot add the admin code in my theme:
Communication with the site not possible to check for errors, the PHP adjustment has been reversed. The PHP file change needs to be changed in another way, for example using SFTP.
WPBeginner Support
That message means that WordPress was not able to check the code for errors and you would need to use an FTP tool to add the code. We have a guide you can follow below:
https://www.wpbeginner.com/beginners-guide/how-to-use-ftp-to-upload-files-to-wordpress-for-beginners/
Admin
Jailson Pacagnan Santana
Thanks! God bless you
WPBeginner Support
You’re welcome, glad our guide was helpful
Admin
Ciao
Where should i exactly insert the code, at the beginning, at the end of funcions.php? thx
WPBeginner Support
We normally recommend at the end so it is easy to find and remove if needed
Admin
Agha Mubasher
Hello there…!
First of all i simply love the work wpbeginner, as you always bring forward the simplest solutions to our wordpress issues. Your website and Youtube channel has always been helpful for me. Thumbs Up for that..
I had issue with hiding the admin bar for the subscribers only. Now after applying your code in the function.php it is hidden for my editors also.
Is there any way that my editors also can see the admin bar and only it should be hidden from the subscribers..!!
WPBeginner Support
For that, you would need to target another permission that your editor has instead of what we are targeting such as edit_others_posts
Admin
Felix
Thank you very much.
WPBeginner Support
You’re welcome
Admin
Dana Jewel
Thank you! This snippet has been really, really helpful.
WPBeginner Support
You’re welcome, glad our guide could be helpful
Admin
Faris
Great Help, It worked like a charm!
Thank You so much.
WPBeginner Support
You’re welcome
Admin
Jesaja
On my website it says:
“Unable to communicate back with site to check for fatal errors, so the PHP change was reverted. You will need to upload your PHP file change by some other means, such as by using SFTP.”
What to do now?
WPBeginner Support
It means the new WordPress safety features prevented you from editing the file, you would need to download and edit your theme’s files using FTP: https://www.wpbeginner.com/beginners-guide/how-to-use-ftp-to-upload-files-to-wordpress-for-beginners/
Admin
Jesaja
Oh.. can’t I just put it in the Custom CSS area?
WPBeginner Support
No, this is PHP not CSS so it wouldn’t go into there.
TaiRon
It does work like a chame, your code is perfect but I have to change in file manager directly.
Thanks.
WPBeginner Support
You’re welcome, glad our guide could help
Admin
Bongani
Thanks , very useful tutorial
WPBeginner Support
You’re welcome
Admin
Mike
Thank you!
WPBeginner Support
You’re welcome
Admin
Jim
Can this code be altered to allow the WordPress Admin bar for Admins AND moderators, but hide it for everyone else?
Thanks!
WPBeginner Support
You would need to add another && !current_user_can(”) inside the parentheses with the name of the role you are wanting it to appear on or use the plugin adminimize from our article: https://www.wpbeginner.com/wp-tutorials/what-everybody-ought-to-know-about-the-wordpress-admin-bar/
Admin
Andreas
If a user knows the URL structure of WordPress he can easily browser to /wp-admin/ and there the admin toolbar will be visible. Also, the easiest way is to deactivate it in the user setting if you have a small number of users.
Adam Pressman
Doesn’t work. Well, to be fair, works when you first use it but then something happens and it doesn’t anymore. nothing is overwriting the functions.php and the code is there but usually after the first login, logout cycle a subsequent login will see the admin bar return.
prashanth
It works but user cannot logout. How to logout?
Cesar
I have created a social media site using several plugins and everything works fine but for one issue. Pages are successfully restricted and redirected (Buddypress pages, blogs, etc) for non-logged in users.
However the main issue I am having is that non-logged in users can still have access to blog posts and user profile pages via widgets placed on side bar and footer and I cannot seem to find a solution anywhere.
Any ideas on the matter, plugins or code that I can insert in the child theme?
I have been looking for a solution for over a day and all there is there is how to restrict pages and partial content but nothing works on the widget links, they keep going thru the restrictions in place.
Thanks
WPBeginner Support
Hey Cesar,
There are several widgets and plugins that allow you to hide widgets from non-logged in users. However, if non-logged in users know the URL, then they would still be able to access those URLs directly. You need to review your plugin settings and see if you can find the option to hide profile pages from non-logged in users.
Admin
Shabz
This code or several others that I tried from the comments isn’t working. I’m trying to remove that dumb silver/black wordpress tab above my menu that shows up for all of my website’s users. How do I remove that? Please help
Humberto Buitrago
Is there any plugin we can use instead code?
Thanks in advanced!
Jack Hernandez
As mentioned in the article, you included a way for users to edit their profiles through the front end without the admin bar. How did you accomplish that.
Thanks
Paritosh Negi
Thank you so much! <3 it works well
Chouchouda
Hello, some issue , i have done everything but can’t hide toolbar for owner user in frontend , but can do this for admin user , incredible.
I’m using search& go theme wordpress , Thank for your help.
Alex
Hello,
Code needs a little updating. This is the code I would use to redirect by role.
/*Hide admin bar for certain roles*/
function hide_admin_bar() {
if(is_user_logged_in() ) {
$current_user = wp_get_current_user();
if ( in_array( ‘subscriber’, (array) $current_user->roles ) ) {
add_filter(‘show_admin_bar’, ‘__return_false’);
}
}
}
Hope this helps.
Brandon
Thanks for this updated code, Alex. Simple and works great.
Put it in child theme functions.php and forget about it.
Yuki Zain
Thanks, Alex but I’m editing a bit
/*Hide admin bar for certain roles*/
if(is_user_logged_in() ) {
$current_user = wp_get_current_user();
if ( in_array( ‘subscriber’, (array) $current_user->roles ) ) {
add_filter(‘show_admin_bar’, ‘__return_false’);
}
}
randalf
Very nice but what do I do if I have two roles as a result of bbpress plugin.. That is registered users have the subscriber role in whole site and participant role in bbpress.
Please help
Scott
Hi,
I inserted your code to remove the Admin bar from my membership site. Unfortunately it also removed it from me, the Admin (even thought I used your first option above). I am using the Tesseract Pro theme. Do you have any suggestions? Thanks
Inder Singh
Dear Sir,
I have 2 admin user and i want to show admin bar for first user and remove admin bar for second user in wordpress.
How can i do it.
Thanks for support.
SG
I tried using this and I got that code Parse error: syntax error, unexpected ‘}’ in /home/content/76/10323476/html/wp-content/themes/digitalscience-apex/functions.php on line 168 and I can’t get my site back even after deleting it.
Krzysiek Dróżdż
Well, I wouldn’t use current_user_can for that… Codex says, that you can use it for role checking, but in the code you can find:
* While checking against particular roles in place of a capability is supported
* in part, this practice is discouraged as it may produce unreliable results.
So… Much better and secure way to do this is:
$user = wp_get_current_user();
if ( ! in_array( ‘administrator’, (array) $user->roles ) ) {
…
}
Rajdeep dey
This code not working on my website… Did any one have any other solutions for hiding admin bar.
Lyndal Sirit
i used it and it crashed my site, trying desperately to fix it now, i took the code back out and updated but I am getting an Error: Parse error: syntax error, unexpected ‘3’ (T_LNUMBER) in /home/lyndalspirit/public_html/wp-content/themes/primer/functions.php on line 516
WPBeginner Support
Hi Lyndal,
Some times when users copy code from websites like WPBeginner, they also copy the line numbers which they are not supposed to copy. When they paste this code in their functions.php file it causes an error.
You need to connect to your site using an FTP client. Locate your functions.php go to the code you added and remove it. Save your changes.
Admin
SG
Even after deleting it, my site is coming back HELP!
Chris
This worked fine for me as-is, i stripped out the line numbers and stuck it at the end of my theme functions.php – instant success. thanks so much.
WPBeginner Support
Hey Chris,
Glad you found it useful. Don’t forget to join us on Twitter for more WordPress tips and tutorials.
Admin
Job
The Code works like charm. Thanks.
eli
if(!current_user_can(‘administrator’)) {
add_filter(‘show_admin_bar’, ‘__return_false’);
}
Gordon Cockburn
How do I remove an individual ex member from access to members only area of website
WPBeginner Support
Login to your WordPress admin area using an Administrator account. Click on the Users menu item from the admin sidebar. This will show you a list of users registered on your WordPress site. Locate the user you wish to remove. Click on the Delete link below the username of the person you want to remove.
Admin