Кастомизация полей формы регистрации в LearnPress с использованием WPRemark

LearnPress — мощный плагин для создания обучающих платформ на WordPress. Однако стандартная форма регистрации LearnPress имеет ограниченные возможности для сбора данных о пользователях. В этой статье мы разберем, как добавить и кастомизировать дополнительные поля в форме регистрации LearnPress, используя популярный плагин WPRemark, а также создадим собственные функции для расширения функционала.

Почему стоит кастомизировать форму регистрации в LearnPress

Стандартная регистрация в LearnPress содержит базовые поля, такие как имя пользователя, email и пароль. Для образовательных платформ часто необходимо собирать дополнительные данные: номер телефона, город, уровень знаний, согласие с политикой конфиденциальности и т.д. Эти данные могут помочь лучше сегментировать аудиторию, автоматизировать коммуникации и повысить качество обучения.

Использование плагина WPRemark позволяет быстро и удобно добавлять новые поля без глубоких знаний программирования. Но иногда требуется тонкая кастомизация — например, валидация данных, интеграция с другими сервисами или условное отображение полей. Для этого пригодятся собственные хуки и фильтры LearnPress и WordPress.

Как добавить дополнительные поля с помощью WPRemark

Плагин WPRemark предлагает визуальный конструктор форм и интеграцию с LearnPress. Для начала установки и настройки выполните следующие шаги:

  1. Установите и активируйте плагин WPRemark через Плагины > Добавить новый.
  2. Перейдите в настройки WPRemark и создайте новую форму регистрации, добавив необходимые поля (текстовые, выпадающие списки, чекбоксы и т.д.).
  3. В настройках формы выберите интеграцию с LearnPress, чтобы новая форма заменила стандартную.
  4. Настройте обязательность полей и валидацию прямо в интерфейсе плагина.

Такой подход минимизирует необходимость писать код и быстро решает задачу расширения формы.

Пример добавления поля "Телефон" в WPRemark

В интерфейсе плагина добавьте новое текстовое поле с меткой "Телефон". Укажите маску ввода или регулярное выражение для проверки формата номера. Отметьте поле как обязательное, если телефон нужен для связи.

После сохранения изменений форма регистрации LearnPress будет содержать новое поле, а введённые данные сохранятся в мета-поле пользователя.

Расширение функционала с помощью кода: добавление и сохранение своих полей

Если нужен более гибкий контроль, можно добавить дополнительные поля регистрации через код. Рассмотрим, как это сделать с помощью хуков LearnPress и WordPress.

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

add_action('learn-press/before-register-form-fields', 'learnpressru_add_custom_registration_field');
function learnpressru_add_custom_registration_field() {
    ?>
    <p class="form-row form-row-wide">
        <label for="learnpressru_phone">Телефон <span class="required">*</span></label>
        <input type="text" class="input-text" name="learnpressru_phone" id="learnpressru_phone" value="" />
    </p>
    <?php
}

Этот код добавляет поле "Телефон" в форму регистрации LearnPress.

Валидация введённых данных

add_action('learn-press/validate-register', 'learnpressru_validate_custom_registration_field', 10, 2);
function learnpressru_validate_custom_registration_field($data, $errors) {
    if (empty($_POST['learnpressru_phone']) || !preg_match('/^\+?\d{10,15}$/', $_POST['learnpressru_phone'])) {
        $errors->add('validation-error', 'Пожалуйста, введите корректный номер телефона.');
    }
}

Это пример простой проверки: поле не должно быть пустым и должен соответствовать формату номера телефона.

Сохранение данных в метаполя пользователя

add_action('learn-press/user-register', 'learnpressru_save_custom_registration_field', 10, 2);
function learnpressru_save_custom_registration_field($user_id, $data) {
    if (!empty($_POST['learnpressru_phone'])) {
        update_user_meta($user_id, 'learnpressru_phone', sanitize_text_field($_POST['learnpressru_phone']));
    }
}

Этот код сохраняет номер телефона в пользовательских метаполях WordPress, что позволяет использовать данные в дальнейшем.

Отображение дополнительных полей в профиле пользователя и на сайте

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

Вывод поля "Телефон" в профиле пользователя в админке

add_action('show_user_profile', 'learnpressru_show_extra_profile_fields');
add_action('edit_user_profile', 'learnpressru_show_extra_profile_fields');
function learnpressru_show_extra_profile_fields($user) {
    ?>
    <h3>Дополнительная информация LearnPress</h3>
    <table class="form-table">
        <tr>
            <th><label for="learnpressru_phone">Телефон</label></th>
            <td>
                <input type="text" name="learnpressru_phone" id="learnpressru_phone" value="<?php echo esc_attr(get_user_meta($user->ID, 'learnpressru_phone', true)); ?>" class="regular-text" /><br />
                <span class="description">Введите номер телефона пользователя.</span>
            </td>
        </tr>
    </table>
    <?php
}

Сохранение поля при редактировании профиля

add_action('personal_options_update', 'learnpressru_save_extra_profile_fields');
add_action('edit_user_profile_update', 'learnpressru_save_extra_profile_fields');
function learnpressru_save_extra_profile_fields($user_id) {
    if (!current_user_can('edit_user', $user_id)) {
        return false;
    }
    update_user_meta($user_id, 'learnpressru_phone', sanitize_text_field($_POST['learnpressru_phone']));
}

Теперь администраторы смогут просматривать и редактировать дополнительное поле "Телефон".

Интеграция с рассылками и автоматизация на базе дополнительных данных

Дополнительные поля можно использовать для сегментации пользователей в рассылках. Например, плагин WPRemark поддерживает интеграцию с популярными сервисами email-маркетинга, что позволяет создавать персонализированные кампании.

Если используется плагин WPRemark, можно настроить автоматическую отправку приветственных писем с учетом введённого номера телефона или других полей.

Для более продвинутой автоматизации можно использовать вебхуки LearnPress, чтобы при регистрации пользователя запускались сторонние процессы, например, добавление в CRM или отправка SMS.

Полезные советы и рекомендации по безопасности

При добавлении пользовательских полей важно не забывать про безопасность. Всегда используйте функции sanitize_text_field(), esc_attr() и другие для очистки вводимых данных.

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

Регулярно обновляйте плагины и тему, чтобы минимизировать риски возникновения уязвимостей.

Выводы

Расширение формы регистрации LearnPress дополнительными полями — важный шаг для создания эффективной образовательной платформы. Использование плагина WPRemark позволяет быстро и удобно добавить новые поля без кода, а собственные функции обеспечат гибкость и контроль над процессом.

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

Подробнее о плагине WPRemark и его возможностях читайте на сайте WPSHOP.ru.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
Как сделать автосохранение прогресса курса в LearnPress на WordPress
31.01.2026
Решение проблемы необновления статуса заказа WooCommerce в LearnPress
21.04.2026
Как добавить авторизацию по OTP в LearnPress с применением WooCommerce
24.05.2026
Решение проблемы несинхронизированных статусов заказов WooCommerce и LearnPress
25.04.2026
Как создать автоматические экспорты отчетов в LearnPress на WordPress
25.03.2026
×
Quizle
Привлекайте, конвертируйте, зарабатывайте!
-15%

на премиум плагин WordPress

Получить скидку ⋙