Temporarily disable user role login and replace with message

With a some digging and learning, I managed to combine various help and create these 2 functions…

// MAINTAINANCE MODE
function site_maintenance() {
    if ( current_user_can('media') || current_user_can('genpo') ) {

       $logout_url = wp_login_url().'?mode=maintainance';
       wp_logout();
       wp_redirect( $logout_url, 302 );

    }     
}
add_action('get_header', 'site_maintenance');

// CUSTOM LOGIN MESSAGES
function my_login_message() {

    if( $_GET['mode'] == 'maintainance' ){
        $message="<p class="message"><b>Site undergoing maintainance.</b></p>";
        return $message;
    }

}
add_filter('login_message', 'my_login_message');

Leave a Comment