「WordPress」ログインしていないユーザへのリダイレクトや自動ログインなど処理いろいろ
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
「WordPress」ログインしていないユーザへのリダイレクトや自動ログインなど処理いろいろをメモしました。
会員制サイトを作成するときに使用しました。 特定のユーザーのみ閲覧を許可するページや公開前のテストページなどに使えると思います。
WordPressのfunctions.phpに記述する
ログインしていなかったら任意のページにリダイレクト
$ulへリダイレクトさせるURLを設定します。
functions.phpif (!is_user_logged_in()) {
//この場合 http://t-cr.jp へリダイレクトします。
$url = 'http://t-cr.jp';
wp_redirect($url);
exit;
}
ログインしていなかったらログインページヘリダイレクト
wp_login_url()でログインページのURLを取得home_url().$_SERVER['REQUEST_URI']現在のページと比較wp_redirect($url);でログインページへリダイレクト
functions.phpif (!is_user_logged_in()) {
$url = wp_login_url();
if($url !== home_url().$_SERVER['REQUEST_URI']){
wp_redirect($url);
exit;
}
}
ログインしていなかったら自動でログイン
wp_loginでユーザー名とパスワードを渡しログインwp_setcookieでユーザー名とパスワードを渡しcookieを保存wp_set_current_userで新しい現在のユーザーとして設定
functions.phpif (!is_user_logged_in()) {
// $user_name にログインさせるユーザー名を入れます。
$user_name = 'user';
$user = new WP_User(0, $user_name);
$user_pass = md5($user->user_pass);
wp_login($user_name, $user_pass, true);
wp_setcookie($user_name, $user_pass, true);
wp_set_current_user($user->ID, $user_name);
//wp_redirect関数にログイン後のページを入力します。例はダッシュボード
wp_redirect(admin_url());
exit;
}
特定のIPアドレス以外からのログインページヘアクセスはトップへリダイレクト
$ip_listへカンマ区切りでIP指定$wp_login_urlだった場合取得したIPと比較し結果を$redirectへ保存$redirectがtrueだった場合home_url()へリダイレクト
ini//カンマ区切りで $ip_listにIPアドレスを入力します。
$ip_list = '192.000.00.00,192.000.00.00';
$ip_lists = explode(',', $ip_list);
$user_ip = $_SERVER['REMOTE_ADDR'];
$redirect = true;
$url = wp_login_url();
if($url === home_url().$_SERVER['REQUEST_URI']){
foreach ($ip_lists as $ip) {
if($user_ip === $ip) {
$redirect = false;
continue;
}
}
}
if($redirect){
wp_redirect(home_url());
}
以上になります。
articlePHP とは?2025 年版の特徴・強み・できることを徹底解説【保存版】
articleCodeIgniterで接続しているデータベースにPHPからテーブルを作成するサンプルコード
article「Codeigniter」トラックバック受信処理について使い方とサンプル
articlePHPでフォーム送信時のCAPTCHA(画像認証) を簡単に設置できる「Securimage」の使い方とサンプル
articlePHPから日本語のメールを送信するやり方
article「WordPress」ログインしていないユーザへのリダイレクトや自動ログインなど処理いろいろ
articleWordPress 技術アーキテクチャ図解:フック/ループ/クエリの全体像を一枚で理解
articleCI/CD で更新を自動化:GitHub Actions と WordPress の安全デプロイ
articleホワイトスクリーン/500 エラーの解決:WordPress で最初に見る場所
articleキャッシュ比較:WordPress で WP Rocket/LiteSpeed/W3TC を検証
articleWordPress 情報設計:CPT/タクソノミー/メタデータの設計指針
articleWordPress を Docker で最速構築:開発/本番の環境差分をなくす手順
articleGitHub Copilot Workspace 速理解:仕様 → タスク分解 →PR までの“自動開発”体験
articleMySQL InnoDB 内部構造入門:Buffer Pool/Undo/Redo を俯瞰
articleMotion(旧 Framer Motion)で学ぶ物理ベースアニメ:バネ定数・減衰・質量の直感入門
articleJavaScript Web Animations API:滑らかに動く UI を設計するための基本と実践
articleGitHub Actions コンテキスト辞典:github/env/runner/secrets の使い分け最速理解
articlehtmx で管理画面 CRUD を 10 倍速に:一覧・検索・編集・バルク操作テンプレ
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来