Как проверить забытый пароль в wordpress?

Я хочу добавить пользовательские проверки к забытому паролю на wordpress

я пытался использовать этот код для проверки

add_action('validate_password_reset','validate_lost_password',10,2);
function validate_lost_password( $errors, $user)
{
    $exp = '/^(?=.*\d)((?=.*[a-z])|(?=.*[A-Z])).{6,32}$/';

    if(!preg_match($exp, $_POST['pass1']) )
           $errors->add( 'error',  'Password must be alphanumeric.','');
}

когда я нахожусь в форме ввода пароля, он все равно отправит введенный мной пароль, даже если он войдет в оператор if, который указывает, что пароль недействителен, не должен быть отправлен, и он покажет ошибку и запросить новый пароль. Я также попытался добавить return $errors, но пароль все равно был отправлен.


person Kent    schedule 16.12.2019    source источник
comment
Предоставленный вами код отлично работает для меня. Возможно, вы используете какой-то плагин, который конфликтует с этим кодом.   -  person Sami Ahmed Siddiqui    schedule 16.12.2019
comment
хм, я вижу, это может быть то, что происходит в моем случае   -  person Kent    schedule 16.12.2019


Ответы (1)


Не могли бы вы попробовать приведенный ниже код в файле function.php, пожалуйста

add_action( 'validate_password_reset' , 'se_password_min_length_check' 10, 2 );

function se_password_min_length_check( $errors, $user){
    if(strlen($_POST['pass1']) < 8)
        $errors->add( 'password_too_short', 'ERROR: password is too short.' );
}
person Neal Developer    schedule 16.12.2019
comment
это будет работать на других, но я только что видел, что мой не работает из-за конфликта с плагином - person Kent; 16.12.2019
comment
Можете ли вы добавить его выше верхней части файла function.php, можете ли вы показать, в чем ошибка в консоли? - person Neal Developer; 16.12.2019
comment
я уже исправил ошибку со своей стороны, но я не смогу опубликовать код, так как я только что отредактировал шорткод, который вызвал конфликты этого хука. Я также принял ваш ответ, так как он должен нормально работать, как и мой пример кода. - person Kent; 17.12.2019