Как добавить логины через соцсети в WordPress

Почему важно добавить вход через соцсети в WordPress

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

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

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

Популярные плагины для входа через соцсети в WordPress

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

1. Nextend Social Login

Один из самых популярных и удобных плагинов. Поддерживает Facebook, Google, Twitter и др. Позволяет легко настроить внешний вид кнопок и интегрируется с стандартной формой входа.

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

  • Простая настройка через админку.
  • Поддержка нескольких соцсетей.
  • Возможность привязки соцаккаунта к существующему профилю.

Чтобы установить плагин, в админке WordPress перейдите в раздел Плагины → Добавить новый, найдите Nextend Social Login и установите его. После активации следуйте мастеру настройки.

2. Super Socializer

Более универсальный плагин, который помимо авторизации через соцсети поддерживает комментарии и шаринг. Поддерживает более 10 соцсетей, включая LinkedIn и Instagram.

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

Как реализовать вход через соцсети в WordPress собственным кодом

Если нужен более гибкий и легковесный вариант без сторонних плагинов, можно реализовать авторизацию через соцсети с помощью API OAuth, например, Google или Facebook.

Ниже приведен пример интеграции авторизации через Google OAuth 2.0. Для этого понадобится:

  • Создать проект в Google Cloud Console и получить client_id и client_secret.
  • Добавить на сайт обработчик для получения токена и авторизации пользователя.

Пример кода для авторизации через Google

<?php

function wplogin_ru_google_auth_url() {
    $client_id = 'ВАШ_CLIENT_ID';
    $redirect_uri = urlencode(site_url('/google-callback'));
    $scope = urlencode('openid email profile');
    return "https://accounts.google.com/o/oauth2/v2/auth?client_id={$client_id}&redirect_uri={$redirect_uri}&response_type=code&scope={$scope}&access_type=offline&prompt=consent";
}

// Выводим ссылку на вход через Google
add_shortcode('wplogin_ru_google_login', function() {
    $url = wplogin_ru_google_auth_url();
    return '<a href="'.esc_url($url).'" class="google-login-button">Войти через Google</a>';
});

// Обработка callback
add_action('init', function() {
    if(isset($_GET['code']) && strpos($_SERVER['REQUEST_URI'], '/google-callback') !== false) {
        $code = sanitize_text_field($_GET['code']);
        $client_id = 'ВАШ_CLIENT_ID';
        $client_secret = 'ВАШ_CLIENT_SECRET';
        $redirect_uri = site_url('/google-callback');

        $response = wp_remote_post('https://oauth2.googleapis.com/token', [
            'body' => [
                'code' => $code,
                'client_id' => $client_id,
                'client_secret' => $client_secret,
                'redirect_uri' => $redirect_uri,
                'grant_type' => 'authorization_code'
            ]
        ]);

        if (is_wp_error($response)) {
            wp_die('Ошибка при получении токена');
        }

        $body = json_decode(wp_remote_retrieve_body($response), true);
        if (isset($body['access_token'])) {
            $user_info_response = wp_remote_get('https://www.googleapis.com/oauth2/v1/userinfo?access_token=' . $body['access_token']);
            $user_info = json_decode(wp_remote_retrieve_body($user_info_response), true);

            if (isset($user_info['email'])) {
                // Проверяем, есть ли пользователь с таким email
                if ($user = get_user_by('email', $user_info['email'])) {
                    // Логиним пользователя
                    wp_set_auth_cookie($user->ID);
                    wp_redirect(home_url());
                    exit;
                } else {
                    // Создаем нового пользователя
                    $user_id = wp_create_user($user_info['email'], wp_generate_password(), $user_info['email']);
                    wp_set_auth_cookie($user_id);
                    wp_redirect(home_url());
                    exit;
                }
            }
        }
        wp_die('Ошибка авторизации через Google');
    }
});

Этот пример создает ссылку для входа через Google и обрабатывает callback, создавая или логиня пользователя по email из Google-профиля.

Важные моменты и советы при реализации входа через соцсети

Безопасность и проверка данных

При работе с OAuth важно тщательно проверять полученные данные и не создавать пользователей без проверки email, чтобы избежать захвата аккаунтов. Используйте HTTPS и храните client_secret в защищенном месте.

Пользовательский опыт

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

Совместимость с другими плагинами

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

Заключение

Добавление входа через социальные сети значительно улучшает удобство пользователей и может повысить конверсию сайта на WordPress. Для быстрой реализации можно использовать проверенные плагины, такие как Nextend Social Login или Super Socializer. Если же нужна гибкость и минимизация сторонних зависимостей — можно реализовать вход через соцсети самостоятельно с помощью API OAuth, как показано в примере с Google.

Не забывайте уделять внимание безопасности, UX и совместимости с другими элементами сайта.

Как сделать OTP-авторизацию для wp-login.php в WordPress
15.04.2026
Как изменить время сессии в WordPress для повышения безопасности
03.01.2026
Как отключить автоматический вход в WordPress после регистрации пользователя
30.03.2026
Как использовать WP-Cron для автоматизации задач в WordPress
08.12.2025
Как установить ограничения на число попыток входа в WordPress без сторонних плагинов
28.01.2026

wp-login.php - это страница входа в системе управления вордпресс. Если Вы хотите изменить внешний вид страницы входа - читайте здесь. Если вам нужно защитить админку - подробный мануал. Вы можете установить плагин Clearfy, в котором есть функция защиты админки и страницы входа.