WordPress добавить поля

Чтобы добавить дополнительные поля в форму регистрации пользователей в WordPress, можно использовать хуки и фильтры.

  1. Добавление поля в форму регистрации:

Копировать

function my_register_extra_field() {
    $html = '<p><label>Мой дополнительный вопрос<br />
    <input type="text" name="my_extra_field" id="my_extra_field" class="input" value="" size="25"></label></p>';
    echo $html;
}
add_action( 'register_form', 'my_register_extra_field' );

В этом примере мы создаем функцию my_register_extra_field(), которая добавляет дополнительное текстовое поле в форму регистрации. Хук register_form используется для подключения функции к форме регистрации.

  1. Валидация поля при регистрации:

Копировать

function my_register_extra_field_validation( $errors, $sanitized_user_login, $user_email ) {
    if ( empty( $_POST['my_extra_field'] ) ) {
        $errors->add( 'my_extra_field_error', __( '<strong>Ошибка</strong>: Поле Мой дополнительный вопрос обязательно для заполнения.' ) );
    }
    return $errors;
}
add_filter( 'registration_errors', 'my_register_extra_field_validation', 10, 3 );

В этом примере мы используем фильтр registration_errors, чтобы отслеживать ошибки при регистрации. Функция my_register_extra_field_validation() проверяет, что поле my_extra_field не было оставлено пустым. Если поле пустое, возвращаем объект ошибки.

  1. Сохранение дополнительного поля в базу данных:

Копировать

function my_save_extra_field( $user_id ) {
    if ( !empty( $_POST['my_extra_field'] ) ) {
        update_user_meta( $user_id, 'my_extra_field', sanitize_text_field( $_POST['my_extra_field'] ) );
    }
}
add_action( 'user_register', 'my_save_extra_field' );

В этом примере мы создаем функцию my_save_extra_field(), которая сохраняет значение дополнительного поля my_extra_field в базу данных. Хук user_register используется для связи функции с событием сохранения формы регистрации.

Обратите внимание, что во всех трех примерах мы используем поле my_extra_field. Это название может быть изменено на любое другое, которое вы выбрали для дополнительного поля.

реклама

Качественный хостинг сайтов

реклама

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

Наш специалист сделает базовый аудит вашего проекта и предложит персональные предложения.

Закажите услугу WordPress добавить поля

Наш специалист свяжется с вами в ближайшее время и уточнит детали