新しいユーザーを拒否または承認するための簡単な承認ユーザープラグインを作成しようとしているので、デフォルトのuser_statusを使用してセッションを保存し、エラーメッセージを追加する方法、 そんな感じ
if($user_status == '0'){
//stop login sessiong
echo $error_msg.'waiting for approval';
}else{
//run session
}
それをするためにとにかくありますか
user_status
フィールドはコアでは使用されないので、あなたはそれをあなた自身の目的のために使用することができます。 WPが将来再利用することを決定した場合、副作用があるかもしれませんが。
authenticate
フィルタはユーザーが認証される前に起動します。そのフィルタにフックしてWP_Error
オブジェクトを返し、ユーザーがログインできないようにすることができます。
function wpse_293904_authenticate( $user, $username, $password ) {
$user_status = get_custom_user_status_from_username( $username );
if( ! $user_status ) {
$error = new WP_Error();
$error->add( 403, 'Oops. Some error message.' );
return $error;
}
return $user;
}
add_filter( 'authenticate', 'wpse_293904_authenticate', 20, 3 );