[워드프레스] 특정 사용자/사용자 역할이 로그인하지 못하도록 차단하기

Last Updated: 2023년 07월 17일 | | 4개 댓글

특정 사용자 계정 비활성화하기

워드프레스에서 특정 사용자가 로그인하지 못하도록 비활성화해야 하는 상황이 발생할 수 있습니다. 그런 경우 Disable Users 플러그인을 사용할 수 있습니다. 이 플러그인을 사용하면 특정 사용자 계정만 비활성화시켜 로그인이 되지 않도록 할 수 있습니다.

이 플러그인을 설치하고 활성화하면 각 사용자 프로필 맨 아래에 해당 사용자 계정을 비활성화시킬 수 있는 옵션이 추가됩니다. 워드프레스 관리자 페이지에서 사용자 > 모든 사용자를 클릭하고 차단할 사용자를 클릭하여 프로필 편집 페이지로 들어갑니다.

Disable Users in WordPress - 워드프레스에서 사용자 계정 비활성화

위의 그림과 같이 "Disable User Account" 옆에 있는 체크박스를 체크하고 "사용자 업데이트"를 클릭하면 해당 사용자의 계정이 비활성화되고 로그인 시도 시 다음 그림과 같이 "Account disabled"라는 메시지가 표시됩니다.

Account Disabled - WordPress

Disable Users 플러그인이 잘 작동하지 않으면 Account Locker Lite라는 플러그인도 있습니다. 이 플러그인을 사용해보시기 바랍니다.

참고: 특정 회원 유형(역할)의 사용자가 스스로 탈퇴할 수 있는 옵션을 제공하려면 Delete Me라는 플러그인을 사용할 수 있습니다. 자세한 내용은 이 글을 참고해보세요.

사용자 역할 내의 모든 사용자 계정 차단하기

위의 방법은 개별 사용자 계정을 잠금 처리(차단)할 때 유용합니다. 만약 차단할 사용자가 엄청 많다면 사용자 역할별로 차단하는 것을 고려하는 것이 더 효과적일 것입니다. 이 경우 다음과 같은 코드를 사용하여 사용자 역할(회원 그룹)별로 차단할 수 있습니다. 다음 코드를 테마의 함수 파일에 추가하도록 합니다.

// 구독자 그룹 로그인 차단하기
function site_maintenance() {
if ( current_user_can('subscriber') ) {

$logout_url = wp_login_url().'?mode=maintainance';
wp_logout();
wp_redirect( $logout_url, 302 );
exit;
}
}
add_action('get_header', 'site_maintenance');

// CUSTOM LOGIN MESSAGES
function my_login_message() {

if( $_GET['mode'] == 'maintainance' ){
$message = '<p class="message"><b>사이트 유지 보수 중.</b></p>';
return $message;
}

}
add_filter('login_message', 'my_login_message');
// Source: http://wordpress.stackexchange.com

새로운 사용자 역할을 만들려면 User Role Editor라는 플러그인을 사용할 수 있습니다.

위의 코드를 적용하면 '구독자' 역할의 사용자가 로그인을 시도하면 다음 그림과 같이 메시지가 출력됩니다.

Block Users per role in WordPress - 워드프레스에서 사용자 역할별 사용자 차단하기

이 방법을 사용하면 굳이 사용자 계정을 삭제하지 않더라도 특정 회원 등급(역할) 내의 모든 사용자가 로그인되지 않도록 차단할 수 있습니다.

참고:


4 개 댓글

Leave a Comment

할인 소식
Divi 레이아웃 AI 출시 기념 할인!
AI로 이미지, 텍스트, 코딩, 전체 페이지 레이아웃 생성 가능
베스트셀링 워드프레스 테마 Divi
0
0
시간
0
0
Limited Time Offer
You This Coupon Code in Checkout
Click the code to Copy