Добавил через свой плагин новое поле "День рожденья" на страницу регистрации. Все ок, но когда это поле не заполнено, а другие заполнены корректно, почему-то выдается не тот текст ошибки. В чем может быть причина?
# Displaying the field
add_action( 'register_form', 'crf_registration_form' );
function crf_registration_form() {
$year = ! empty( $_POST['year_of_birth'] ) ? ( $_POST['year_of_birth'] ) : '';
?>
<p>
<label for="year_of_birth"><?php esc_html_e( 'Year of birth', 'crf' ) ?><br/>
<input type="text"
id="year_of_birth"
name="year_of_birth"
value="<?php echo esc_attr( $year ); ?>"
class="input"
/>
</label>
</p>
<?php
}
# Validating the field
add_filter( 'registration_errors', 'crf_registration_errors', 10, 3 );
function crf_registration_errors( $errors, $sanitized_user_login, $user_email ) {
if ( empty( $_POST['year_of_birth'] ) ) {
$errors->add( 'year_of_birth_error', __( '<strong>ERROR</strong>: Please enter your year of birth.', 'crf' ) );
}
if ( ! empty( $_POST['year_of_birth'] ) && intval( $_POST['year_of_birth'] ) < 1900 ) {
$errors->add( 'year_of_birth_error', __( '<strong>ERROR</strong>: You must be born after 1900.', 'crf' ) );
}
# в массиве $errors содержится 1 элемент с ошибкой к полю дня рождения, но на странице регистрации показывается стандартная.
return $errors;
}
В итоге получаю стандартную ошибку "Ошибка: Неправильный логин или пароль".
А должно быть Please enter your year of birth или You must be born after 1900
PS. Плагин кастомизации формы логина отключал. Не помогло.