如果检查wp\\u insert\\u user()函数,可以看到在整个过程中调用了无数的过滤器和操作。第一个是用户名上名为pre\\u user\\u login的过滤器。
wp第1304行包括/用户。php:
$user_login = apply_filters(\'pre_user_login\', $user_login);
您可以钩住它并抛出自己的自定义错误消息。
编辑:电子邮件过滤器仅在下面几行。
第二次编辑:添加示例
add_filter( \'pre_user_login\' , \'my_username_block\' );
function my_username_block( $user_login ) {
$black_listed = array( 0 => \'satan\' , 1 => \'hitler\' );
if( in_array( strtolower( $user_login ) , $black_listed ) ) {
wp_die(\'That username is blacklisted\');
}
return $user_login;
}
add_filter( \'pre_user_email\' , \'my_email_block\' );
function my_email_block( $user_email ) {
$black_listed_emails = array( 0 => \'[email protected]\' , \'[email protected]\' );
if( in_array( strtolower( $user_email ) , $black_listed_emails ) ) {
wp_die(\'That email address is blacklisted\');
}
return $user_email;
}