2026年5月20日
2026年5月20日
WordPressのソーシャルログインを設定する方法
はじめに
ソーシャルログインを導入すると、ユーザーがGoogleやFacebookなどの既存アカウントでWordPressにログイン・登録できるようになります。パスワード管理の手間が省け、ユーザー登録率の向上にも効果的です。
推奨プラグイン
Nextend Social Login が最も広く使われており、Google・Facebook・Appleに対応しています。
wp plugin install nextend-facebook-connect --activate
Googleログインの設定手順
ステップ1:Google Cloud ConsoleでOAuth認証情報を作成
1. Google Cloud Console にアクセス
2. 新しいプロジェクトを作成(または既存を選択)
3. 「APIとサービス」→「認証情報」→「OAuthクライアントIDを作成」
4. アプリケーションの種類:「ウェブアプリケーション」
5. 承認済みのリダイレクトURIに以下を追加:
`
https://example.com/?oauth=1&auth=google
`
ステップ2:プラグインに認証情報を設定
管理画面 → Nextend Social Login → Google → 設定
├── App ID(クライアントID)を入力
└── App Secret(クライアントシークレット)を入力
ステップ3:ログインページにボタンを表示
プラグインが自動的にwp-login.phpにソーシャルログインボタンを追加します。
// functions.php でショートコードを使って任意の場所に表示
echo do_shortcode('[nextend_social_login]');
Facebookログインの設定
Meta for Developers → マイアプリ → アプリを作成
→ Facebook Login → 設定
→ 有効なOAuthリダイレクトURI: https://example.com/?oauth=1&auth=facebook
functions.phpでOAuthを直接実装(上級者向け)
// Google OAuth の基本フロー
add_action('init', function() {
if (!isset($_GET['oauth']) || $_GET['auth'] !== 'google') return;
$token_url = 'https://oauth2.googleapis.com/token';
$user_url = 'https://www.googleapis.com/oauth2/v2/userinfo';
// アクセストークンを取得してユーザー情報を取得
// wp_create_user() でWordPressユーザーを作成/ログイン
});
新規ユーザー登録を制限する
ソーシャルログインで誰でも登録できる状態を避けるには:
// 特定ドメインのメールアドレスのみ許可
add_filter('nsl_registration_user_default_role', function($role, $provider, $user_data) {
$email = $user_data['email'] ?? '';
if (!str_ends_with($email, '@example.com')) {
return false; // 登録を拒否
}
return $role;
}, 10, 3);
注意事項
- OAuth認証情報(クライアントID・シークレット)は
.envファイルや定数で管理し、コードに直接書かないこと https://が必須です。ローカル環境ではhttp://localhostを明示的に許可する設定が必要です- ソーシャルアカウントが削除された場合のログイン手段も確保しておいてください
まとめ
Nextend Social Loginプラグインを wp plugin install nextend-facebook-connect でインストールし、Google Cloud ConsoleでOAuthクライアントIDを作成して設定するだけでGoogleログインが実装できます。