「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 HTTP クライアント比較:Guzzle vs Symfony HttpClient vs cURL 拡張
articlehtmx × Laravel/PHP 導入手順:Blade パーシャルとルート設計の落とし穴回避
articlePHP で社内業務自動化:CSV→DB 取込・定期バッチ・Slack 通知の実例
articlePHP 基本文法を 90 分で速習:型宣言・null 合体・スプレッド構文の実践
articlePHP アーキテクチャ設計入門:レイヤリング・依存逆転・ユースケース分離
articlePHP 構文チートシート:配列・クロージャ・型宣言・match を一枚で把握
articleバックアップ戦略の決定版:WordPress の世代管理/災害復旧の型
articleプラグイン競合の特定術:WordPress で原因切り分けを高速化する手順
article画像最適化比較:WordPress の WebP/AVIF/外部 CDN を実測レビュー
articleWordPress URL 設計とリライトルール:正規化と SEO を両立する作法
articleWordPress × Bedrock/Composer 入門:プラグイン管理をコード化する
articleWordPress 技術アーキテクチャ図解:フック/ループ/クエリの全体像を一枚で理解
articleZod 合成パターン早見表:`object/array/tuple/record/map/set/intersection` 実例集
articleバックアップ戦略の決定版:WordPress の世代管理/災害復旧の型
articleYarn 運用ベストプラクティス:lockfile 厳格化・frozen-lockfile・Bot 更新方針
articleWebSocket のペイロード比較:JSON・MessagePack・Protobuf の速度とコスト検証
articleWeb Components イベント設計チート:`CustomEvent`/`composed`/`bubbles` 実例集
articleWebRTC SDP 用語チートシート:m=・a=・bundle・rtcp-mux を 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 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来