• ДОБРО ПОЖАЛОВАТЬ В КЛУБ ПО WORDPRESS

    Мы активно растущий клуб по WordPress и нам нужна помощь каждого человека, в том числе и Ваша! Не стесняйтесь и станьте частью большого сообщества.
    Мы делимся новостями, отытом и полезными советами! Пройдите простую регистрацию, чтобы пользоваться всеми возможностями нашего клуба.

    Присоединяйтесь к нам, вам обязательно понравится - Присоединится

Вопрос Ограничить регистрацию на сайте (белый список электронной почты)

macuser76

НОВИЧОК

macuser76

НОВИЧОК
Сообщения
1
Добрый день!

Есть магазин на wp/woocommerce Для просмотра ссылки Войди или Зарегистрируйся и плагин для регистрации Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся


Сейчас реализован закрытый раздел в магазине для одной группы зарегистрированных пользователей, регистрация идет через плагин user-registration с автоматическим присвоением нужной роли пользователя.

И есть работающий код для ограничения регистрации через этот плагин для определенных почтовых доменов.
Он работает глобально для всех форм плагина user-registration.

Подскажите пожалуйста, как ограничить действие кода только для определенной формы: [user_registration_form id="9169"] ?
Судя по всему это можно сделать через переменную $form_id, но как конкретно? Помогите пожалуйста.

Код:
add_action( 'user_registration_validate_user_email','ur_validate_user_email', 10, 4 );

function ur_validate_user_email( $single_form_field, $data, $filter_hook, $form_id ) {

    $value        = isset( $data->value ) ? $data->value : '';
    $whitelist = array( 'sizeableinteractive.com', 'theandystratton.com' );
    $parts     = explode( '@', $value );

    if( ! in_array( $parts[1], $whitelist ) ) {

        add_filter( $filter_hook, function ( $msg ) use ( $field_label ) {
            return __( 'You may only register with an approved email address.', 'user-registration' );
       });
    }
}
 

Tesessssss

ПРОВЕРЕННЫЙ

Tesessssss

ПРОВЕРЕННЫЙ
Сообщения
33
дык это простая проверка:
PHP:
add_action( 'user_registration_validate_user_email','ur_validate_user_email', 10, 4 );
function ur_validate_user_email( $single_form_field, $data, $filter_hook, $form_id ) {

    if( $form_id == '9169' ) {
    $value        = isset( $data->value ) ? $data->value : '';
    $whitelist = array( 'sizeableinteractive.com', 'theandystratton.com' );
    $parts     = explode( '@', $value );

    if( ! in_array( $parts[1], $whitelist ) ) {

        add_filter( $filter_hook, function ( $msg ) use ( $field_label ) {
            return __( 'You may only register with an approved email address.', 'user-registration' );
       });
    }

    }
}
 

Топ поддержки


Сверху