@darkersoul
web - программист

Неправильный текст ошибки при регистрации в WordPress?

Добавил через свой плагин новое поле "День рожденья" на страницу регистрации. Все ок, но когда это поле не заполнено, а другие заполнены корректно, почему-то выдается не тот текст ошибки. В чем может быть причина?

# 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. Плагин кастомизации формы логина отключал. Не помогло.
  • Вопрос задан
  • 30 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы