Как добавить логины через соцсети в 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 и совместимости с другими элементами сайта.

Вам также может быть интересно:

Как отключить доступ к wp-login.php для определённых ролей пользователей в WordPress
30.04.2026
Как закрыть дубли страниц авторов и архивов в WordPress без потери индексации
29.08.2026
Как исправить 404 на странице входа в WordPress после настройки SSL и кеша
14.08.2026
Как изменить метод авторизации в WordPress на токены для повышения безопасности
04.09.2026
Как запретить удаление пользователей в WordPress для повышения безопасности
30.09.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше