Skip to content

How To Remove WordPress Admin Bar Specific Users

In last couple of posts we talked about removing WordPress admin bar for everyone and remove it for everyone but admins of the WordPress site. It’s time for you to learn how to remove WordPress admin bar for specific users with this php snippet.

Just add following code to your theme’s functions.php file to remove the admin bar:

// Disable Admin Bar for specific user
if (!function_exists('df_disable_admin_bar')) {

    function df_disable_admin_bar() {

        // we're getting current user ID
        $user = get_current_user_id();

        // and removeing admin bar for user with ID 123
        if ($user == 123) {

            // for the admin page
            remove_action('admin_footer', 'wp_admin_bar_render', 1000);
            // for the front-end
            remove_action('wp_footer', 'wp_admin_bar_render', 1000);

            // css override for the admin page
            function remove_admin_bar_style_backend() {
                echo '<style>body.admin-bar #wpcontent, body.admin-bar #adminmenu { padding-top: 0px !important; }</style>';
            }    
            add_filter('admin_head','remove_admin_bar_style_backend');

            // css override for the frontend
            function remove_admin_bar_style_frontend() {
                echo '<style type="text/css" media="screen">
                html { margin-top: 0px !important; }
                * html body { margin-top: 0px !important; }
                </style>';
            }
            add_filter('wp_head','remove_admin_bar_style_frontend', 99);

        }
      }
}
add_action('init','df_disable_admin_bar');

Leave a Reply

Your email address will not be published. Required fields are marked *