Allow Only Administrators to Log In
Temporarily blocks logins for everyone except administrators, for example during a migration or a security incident.
Opens WPIDE on
Code
$wpide_lockdown_message = 'Logins are paused for maintenance. Please try again later.';
add_filter( 'authenticate', function ( $user ) use ( $wpide_lockdown_message ) {
if ( $user instanceof WP_User && ! user_can( $user, 'manage_options' ) ) {
return new WP_Error( 'wpide_login_lockdown', esc_html( $wpide_lockdown_message ) );
}
return $user;
}, 100 );
Notes
People who are already logged in stay logged in until their session ends.
How to add this snippet
- Install WPIDE on your WordPress site (it is free) and open Code Snippets.
- Use snippet above adds it from the library in one click. Or copy the code into a new snippet with the same code type.
- It is added inactive: review the code and settings, then switch it on.