Como desautorizar o usuário a se registrar com uma palavra específica no nome de usuário?

É desde há 1 mês, todos os dias, receberemos dezenas de novo registro de usuário com o nome de usuário que contém como YggrnCyhorgeVH ou AurizarCyhorgeVH , etc.

O Ip e o agente do usuário são diferentes de cada vez, então pensei evitar o registro do usuário com esse nome.

Existe um gancho / ação / filtro onde interceptar o registro do usuário e negá-lo?

POR FAVOR, não sugere o plugin / captcha ou outros. Eu fiz uma pergunta específica.

Solutions Collecting From Web of "Como desautorizar o usuário a se registrar com uma palavra específica no nome de usuário?"

O código seguinte deve funcionar para você, mas não posso garantir isso porque seu formulário é tão forte (e mal) personalizado. Eu testei isso na forma de inscrição não personalizada e funcionou bem.

 function cyhorge_check_fields( $errors, $sanitized_user_login, $user_email ) { if ( preg_match('/(CyhorgeVH)/', $sanitized_user_login ) ) { $errors->add( 'username_error', __( 'ERROR: User contains CyhorgeVH string.', 'my_textdomain' ) ); } return $errors; } add_filter( 'registration_errors', 'cyhorge_check_fields', 10, 3 ); 

FONTE

EDITAR: Outra solução possível:

 function prevent_cyhorge_user( $user_login, $user_email, $errors ) { if ( strpos( $user_login, 'CyhorgeVH' ) ) { $errors->add( 'username_error', __( 'ERROR: User contains CyhorgeVH string.', 'my_textdomain' ) ); } } add_action( 'register_post', 'prevent_cyhorge_user', 10, 3 ); 

Observe que a segunda function está usando strpos vez de preg_match que provavelmente é um pouco mais rápido, mas preg_match fornece mais flexibilidade, se necessário.

Ambos devem funcionar a partir das functions.php ou outro tema.php ou como um plugin.

Obter filtros de spam para o seu site – captcha, Wordfence etc. A segurança geral ajuda contra coisas assim.