WordPressで未ログイン時にログインページへリダイレクトする方法
WordPressのサイトを特定のユーザーだけが利用できるようにする場合、
未ログインのユーザーをログインページへ自動リダイレクトする設定が必要です。
本記事では、WordPressで未ログインユーザーをログインページへリダイレクトする方法を3つ紹介します。
functions.php を使ってリダイレクトする方法
WordPressの functions.php に以下のコードを追加することで、
未ログイン時に /login/ へリダイレクトできます。
コード
function redirect_to_login_if_not_authenticated() {
if (!is_user_authenticated() && !is_page('login')) {
wp_redirect(site_url('/login/'));
exit;
}
}
add_action('template_redirect', 'redirect_to_login_if_not_authenticated');
コードのポイント
is_user_authenticated() でユーザーがログインしているかを判定
未ログインなら /login/ にリダイレクト is_page('login') でログインページ自体はリダイレクトしない(無限ループ防止)
この方法を使用すると、未ログインのユーザーはサイトの
どのページにアクセスしても /login/ にリダイレクトされます。
index.php を編集してトップページのみリダイレクトする方法
サイト全体ではなく、トップページ(ホームページ)のみをリダイレクトしたい場合は、index.php に以下のコードを追加します。
コード
<?php
session_start();
if (!is_user_authenticated()) {
wp_redirect(site_url('/login/'));
exit;
}
?>
動作
✅ トップページ(index.php)を開くと未ログインなら /login/ にリダイレクト
✅ 他のページには影響なし
トップページのみを会員制にしたい場合に適した方法です。
.htaccess を使ってサーバー側でリダイレクトする方法
サーバー側の .htaccess にリダイレクト設定を追加することで、
未ログイン時に /login/ へリダイレクトできます。
コード
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/login/ [NC]
RewriteCond %{REQUEST_URI} !^/wp-login.php [NC]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC]
RewriteRule ^(.*)$ /login/ [R=302,L]
コードのポイント
✅ ログインしていないユーザーのみ /login/ にリダイレクト
✅ WordPress標準のログインページ (wp-login.php) には影響なし
✅ サーバー側で処理するためWordPressに負荷をかけずにリダイレクト
この方法はサーバー側で処理するため、WordPressのコードを変更したくない場合に便利です。
どの方法を使うべき?
| 方法 | 適用範囲 | 適用ページ |
|---|---|---|
functions.php に追加 | サイト全体 | ログインページ以外すべて |
index.php に追加 | トップページのみ | トップページのみリダイレクト |
.htaccess を使用 | サーバー全体 | WordPress全体に適用 |
✅ サイト全体をログイン必須にするなら functions.php か .htaccess を使用
✅ トップページのみ制限したいなら index.php を編集
✅ サーバー側で制御したいなら .htaccess を編集
まとめ
WordPressで未ログイン時にログインページへリダイレクトする方法を紹介しました。用途に応じて適切な方法を選びましょう。
✔ サイト全体を会員制にするなら → functions.php にリダイレクト処理を追加
✔ トップページのみリダイレクトするなら → index.php にリダイレクト処理を追加
✔ WordPressに負荷をかけずに処理したいなら → .htaccess を編集
これで、未ログインユーザーのアクセスを制限し、ログインページへ誘導できるようになります。
ぜひ試してみてください!


第9回:WEBデザインの参考サイトと学び方
8月 22, 2025CSSのborderプロパティ:枠線の設定とデザインの基本
11月 25, 2024CSSのpositionプロパティ:位置指定の基本から応用まで
11月 21, 2024