woocommerce_registration_errorsхук-фильтрWC 1.0

Позволяет изменить набор ошибок при регистрации нового пользователя WooCommerce.

Срабатывает до создания пользователя WooCommerce, до вызова функции wp_insert_user(). Это позволяет сделать нужные проверки и на основе них вернуть ошибку, если нужно.

Использование

add_filter( 'woocommerce_registration_errors', 'wp_kama_woocommerce_registration_errors_filter', 10, 3 );

/**
 * Function for `woocommerce_registration_errors` filter-hook.
 * 
 * @param \WP_Error $errors     Error object.
 * @param string    $username   Customer username.
 * @param string    $user_email Customer email address.
 *
 * @return \WP_Error
 */
function wp_kama_woocommerce_registration_errors_filter( $errors, $username, $user_email ){

	// filter...
	return $errors;
}
$errorsWP_Error
Экземпляр класса WP_Error.
$username
Имя пользователя.
$email
Email пользователя.

Примеры

0

#1 Запретим регистрацию пользователей с почтой от mail.ru

add_filter( 'woocommerce_registration_errors', 'woocommerce_add_registration_errors', 10, 3 );

/**
 * Возвращает ошибки
 *
 * @param WP_Error $errors
 *
 * @return WP_Error
 */
function woocommerce_add_registration_errors( $errors, $username, $email ) {
	if ( strpos( $email, '@mail.ru' ) !== false ) {
		$errors->add( 'registration-error-invalid-email', 'Используйте другую почту, отличную от mail.ru.' );
	}

	return $errors;
}

Где вызывается хук

Checkout::create_customer_account()
woocommerce_registration_errors
wc_create_new_customer()
woocommerce_registration_errors
woocommerce/packages/woocommerce-blocks/src/StoreApi/Routes/V1/Checkout.php 727
$errors = apply_filters( 'woocommerce_registration_errors', $errors, $username, $user_email );
woocommerce/includes/wc-user-functions.php 80
$errors = apply_filters( 'woocommerce_registration_errors', $errors, $username, $email );

Где используется хук в WooCommerce

Использование не найдено.