X

How to Restrict Dashboard Access to Users in WordPress

Snippets by IsItWP

Are you looking for a way to restrict dashboard access to users? While there’s probably a plugin for this, we have created a quick code snippet that you can use to restrict dashboard access to users in WordPress.

Instructions:

All you have to do is add this code to your theme’s functions.php file or in a site-specific plugin:

function baw_no_admin_access()
{
 if( !current_user_can( 'administrator' ) && stristr( $_SERVER['REQUEST_URI'], '/wp-admin' ) !== false ) {
     wp_redirect( home_url() );
     die();
  }
}
add_action( 'init', 'baw_no_admin_access', 1 );

This code will restrict any user except the administrator to enter into your WordPress dashboard.

Note: If this is your first time adding code snippets in WordPress, then please refer to our guide on how to properly add code snippets in WordPress, so you don’t accidentally break your site.

If you liked this code snippet, please consider checking out our other articles on the site like: 20 best WordPress church themes for expanding the flock and how to use Google Optimize in WordPress.

Comments   Leave a Reply

  1. function baw_no_admin_access()
    {
    if( !current_user_can( ‘administrator’) && stristr( $_SERVER[‘REQUEST_URI’], ‘/wp-admin’ ) !== false ) {
    wp_redirect( home_url() );
    die();
    }
    add_action( ‘init’, ‘baw_no_admin_access’, 1 );

    In this code how I can add another user along with administrator
    I am thank full to you dear users

  2. This also prevents my users from logging out. They keep getting redirected to the home page and can’t logout

  3. Does this still works for WordPress 5.4?

    1. It should still work. Are you getting error messages?

  4. with this function you also block ajax request. Better add

    && !( defined( ‘DOING_AJAX’ ) && DOING_AJAX )

    1. Perhaps I misunderstood the comment, but usually you would not want AJAX in the admin to work if the user is not logged in and if you are blocking them from the admin area.

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our privacy policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.

WordPress Launch Checklist

The Ultimate WordPress Launch Checklist

We've compiled all the essential checklist items for your next WordPress website launch into one handy ebook.
Yes, Send Me the Free eBook!