「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());
}
以上になります。
著書
使い方Cloudflare Zero Wire の php2shell のプロンプトを Claude Code で試す: 読むだけで、77秒で穴を見つけた
トラブルシュートLaravel の 500/419/CSRF エラーを一撃解決:セッション/トークン/ドメイン設定の勘所
トラブルシュートPHP で「Allowed memory size exhausted」発生時の原因と対処【完全解説】
使い方PHP で社内業務自動化:CSV→DB 取込・定期バッチ・Slack 通知の実例
使い方PHP アーキテクチャ設計入門:レイヤリング・依存逆転・ユースケース分離
使い方PHP 開発環境の作り方【完全ガイド】:macOS/Windows/Linux 別最適解
使い方ACF かブロックか:WordPress 入力 UI の設計判断と移行戦略
使い方バックアップ戦略の決定版:WordPress の世代管理/災害復旧の型
使い方WordPress のインストール完全手順:レンタルサーバー・Docker・ローカルを徹底比較
使い方「WordPress」ログインしていないユーザへのリダイレクトや自動ログインなど処理いろいろ
使い方Orca の権限の初めの設定と直し方: 入れた直後、Claude Code が勝手に起動する
検証・比較Orca で Claude Code と Codex を GUI で使う手順: ターミナルだけだった Orca が、チャットの画面で使えるように
挙動Claude Code の context-mode の使い方: 入れただけでは、実は効いていなかった
使い方Postman が Claude Code と Codex に入れたプラグインの確かめ方: Superset も、開いただけでフックが11個
使い方Claude Code の settings.local.json の秘密が漏れる理由: その API キー、GitHub に出てない?
使い方Orca の差分の画面の使い方: エージェントへの指摘、1つずつ送っていない?
