Добавление авторизации по телефону в WordPress: подробное руководство

Авторизация по телефону становится всё более популярной альтернативой классическому входу через email и пароль. В WordPress такую систему можно реализовать с помощью плагинов или кастомных решений. В этой статье разберём, как добавить авторизацию по телефону, какие плагины использовать и приведём примеры кода для интеграции SMS-подтверждения.

Почему стоит добавить авторизацию по телефону в WordPress

Авторизация по номеру телефона повышает удобство и безопасность для пользователей. Это удобно для сайтов сообщественной направленности, новостных порталов, магазинов и сервисов, где важна быстрая регистрация и вход без необходимости запоминать пароли.

Преимущества:

  • Удобство: пользователи вводят только номер телефона.
  • Безопасность: подтверждение через SMS снижает риск взлома.
  • Увеличение конверсии входа и регистрации.

Выбор плагина для авторизации по телефону в WordPress

Для реализации авторизации по телефону можно использовать готовые плагины, которые значительно упрощают задачу.

Плагин WP SMS Login

WP SMS Login позволяет входить и регистрироваться через номер телефона с подтверждением SMS. Плагин интегрируется с несколькими SMS-шлюзами и легко настраивается.

  • Настройка SMS-провайдера
  • Поддержка кастомных форм входа
  • Автоматическая регистрация

Скачать и настроить плагин можно на странице плагина WP SMS Login.

Плагин MiniOrange OTP Verification

MiniOrange OTP Verification позволяет добавить подтверждение по одноразовому паролю (OTP) через SMS при регистрации и входе. Поддерживает множество сервисов доставки SMS, прост в интеграции.

  • Вход и регистрация с OTP
  • Поддержка WooCommerce и BuddyPress
  • Гибкие настройки безопасности

Подробнее и скачать: MiniOrange OTP Verification.

Пример кастомной реализации авторизации по телефону с использованием плагина JournalX

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

Основные шаги:

  1. Добавить поле ввода телефона на страницу входа/регистрации.
  2. Отправлять SMS с кодом подтверждения на указанный номер.
  3. Проверять введённый код и создавать или входить в пользователя.

Добавление поля телефона

function journalx_add_phone_field() {
    ?>
    <p>
        <label for="journalx_phone">Номер телефона<br>
        <input type="text" name="journalx_phone" id="journalx_phone" class="input" value="" size="20" /></label>
    </p>
    <?php
}
add_action('login_form', 'journalx_add_phone_field');

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

Отправка и проверка SMS-кода

Для отправки SMS можно использовать сторонние сервисы, например, Twilio, через их API. Ниже пример функции отправки кода с использованием Twilio:

function journalx_send_sms_code($phone, $code) {
    $sid = 'TWILIO_SID';
    $token = 'TWILIO_AUTH_TOKEN';
    $client = new Twilio\Rest\Client($sid, $token);
    try {
        $client->messages->create(
            $phone,
            ['from' => 'YOUR_TWILIO_NUMBER', 'body' => 'Ваш код подтверждения: ' . $code]
        );
    } catch (Exception $e) {
        error_log('Ошибка отправки SMS: ' . $e->getMessage());
    }
}

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

Обработка входа по телефону и коду

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

function journalx_handle_phone_login() {
    if(isset($_POST['journalx_phone']) && isset($_POST['journalx_code'])) {
        $phone = sanitize_text_field($_POST['journalx_phone']);
        $code = sanitize_text_field($_POST['journalx_code']);
        $saved_code = get_transient('journalx_sms_code_' . $phone);
        if($saved_code && $saved_code === $code) {
            $user = get_users(['meta_key' => 'phone_number', 'meta_value' => $phone, 'number' => 1]);
            if(empty($user)) {
                // Создаём нового пользователя
                $user_id = wp_create_user('user_' . $phone, wp_generate_password(), $phone . '@example.com');
                update_user_meta($user_id, 'phone_number', $phone);
                $user = get_user_by('ID', $user_id);
            } else {
                $user = $user[0];
            }
            wp_set_current_user($user->ID);
            wp_set_auth_cookie($user->ID);
            wp_redirect(home_url());
            exit;
        } else {
            wp_die('Неверный код подтверждения');
        }
    }
}
add_action('login_form_login', 'journalx_handle_phone_login');

Советы по безопасности и удобству

При реализации авторизации по телефону стоит учитывать следующие моменты:

  • Используйте временные коды с ограничением по времени (например, 5 минут).
  • Ограничьте количество попыток ввода кода для предотвращения перебора.
  • Шифруйте и безопасно храните номера телефонов и коды.
  • Обеспечьте удобный интерфейс для ввода телефона и кода.

Также можно комбинировать авторизацию по телефону с другими методами, например, с классическим паролем или OAuth.

Заключение

Добавление авторизации по телефону в WordPress — задача вполне решаемая как с помощью готовых плагинов, так и через кастомную реализацию. Важно продумать безопасность и удобство для пользователей. Использование плагинов WP SMS Login или MiniOrange OTP Verification может сильно сэкономить время, а если нужна уникальная логика — кастомный код на базе плагина JournalX станет хорошим решением.

Для подробного знакомства с плагинами и скачивания смотрите официальный каталог плагинов WPShop.

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

⭐⭐⭐⭐⭐
Как удалить товар из корзины WooCommerce без перезагрузки страницы
27.04.2026
Как автоматически отключить комментарии в WordPress на старых постах
30.03.2026
WooCommerce: удаление товаров из корзины через AJAX с подтверждением пользователя
18.05.2026
Как удалить параметры URL в WordPress без перезагрузки страницы
28.12.2025
Как сделать автоматический журнал изменений в WordPress с примерами кода и плагинов
14.03.2026
×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙