这个user_status 字段不由core使用,所以您可以出于自己的目的使用它。虽然如果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 );