woocommerce_registration_errors
Позволяет изменить набор ошибок при регистрации нового пользователя 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 пользователя.
Примеры
#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; }
Список изменений
С версии 7.2.0 | Введена. |
Где вызывается хук
woocommerce_registration_errors
woocommerce_registration_errors
woocommerce/src/StoreApi/Routes/V1/Checkout.php 756
$errors = apply_filters( 'woocommerce_registration_errors', $errors, $username, $user_email );
woocommerce/includes/wc-user-functions.php 91
$errors = apply_filters( 'woocommerce_registration_errors', $errors, $username, $email );