[WordPress]特定のユーザー/ユーザーの役割がログインできないようにブロックする

Last Updated:2023年07月17日| 4のコメント

特定のユーザーアカウントを無効にする

WordPress特定のユーザがログインできないように無効にしなければならない状況が発生する可能性があります。 そのような場合 Disable Usersプラグインを使用することができます。 このプラグインを使用すると、特定のユーザーアカウントのみを無効にさせてログインできないようにすることができます。

このプラグインをインストールして有効にすると、各ユーザーのプロファイルの下に、そのユーザーのアカウントを無効にすることができるオプションが追加されます。 WordPress 管理者ページで ユーザー>すべてのユーザーをクリックして、ブロックのユーザーをクリックして、 プロファイルの編集 ページに入ります。

Disable Users in WordPress - WordPressユーザーアカウントの無効化

上図のように」Disable User Account「隣のチェックボックスをチェックして「ユーザー更新」をクリックすると、そのユーザーのアカウントが無効になり、ログインしようとすると次の図のように」アカウントが無効です「というメッセージが表示されます。

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

新しいユーザーロールを作成する ユーザーロールエディタというプラグインを使用することができます。

上記のコードを適用すると、「サブスクライバ」ロールのユーザーがログインしようとすると、次の図に示すようにメッセージが出力されます。

Block Users per role in WordPress - WordPressユーザー役割別のユーザーをブロックする

この方法を使用すると、あえてユーザーアカウントを削除しなくても、特定のメンバーの評価(役割)内のすべてのユーザーがログインしていないようにブロックすることができます。

メモ:


4のコメント

コメント