Disable Admin Bar for All Users Except Site Administrator

Hide WordPress admin toolbar for non-administrator users using after_setup_theme action hook executed early in initialization. Check user capabilities with current_user_can for administrator role verification, ensure not in admin area with !is_admin() conditional to preserve backend functionality, call show_admin_bar(false) to disable toolbar display for qualifying users, provide clean focused frontend experience for contributors, editors, and subscribers, maintain admin bar functionality for site administrators requiring quick access to dashboard, reduce interface clutter for content-focused users, and implement role-based UI customization improving user experience.

How to Disable Admin Bar for All Users Except Site Admin

Code Snippets Coding Blog Content Management Hooks PHP PHP Snippets Theme Development Woocommerce Wordpress WordPress Development WordPress How-To WordPress Tips

How to Disable Admin Bar for All Users Except Site Admin Tutorial/Guide

To disable the admin bar for all users except the site admin in WordPress, you can use the `show_admin_bar` filter along with the `current_user_can()` function to check the user's capabilities. Here's an example of how you can achieve this:

// Function to disable admin bar for non-admin users
function disable_admin_bar_for_non_admins() {
    if (!current_user_can('administrator') && !is_admin()) {
        show_admin_bar(false);
    }
}
add_action('after_setup_theme', 'disable_admin_bar_for_non_admins');

  In this example, the `disable_admin_bar_for_non_admins()` function is hooked to the `after_setup_theme` action, which ensures it is executed early in the WordPress initialization process. Inside the function, it checks if the current user does not have the 'administrator' capability and is not in the admin area (`is_admin()`). If the user does not meet these conditions, the `show_admin_bar()` function is called with `false` as the argument to disable the admin bar for that user. By using this code snippet, the admin bar will be hidden for all users except those with the 'administrator' role. This provides a clean and focused interface for non-admin users while preserving the admin bar functionality for site admins. You can place this code in your theme's `functions.php` file or in a custom plugin. Remember to save the changes and test the functionality while logged in as a non-admin user to ensure the admin bar is appropriately disabled.

๐Ÿ’ก Have a Coding Problem?

Search our archives or reach out to our team for solutions and expert advice.