「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());
}
以上になります。
記事Article
もっと見る- article
2025年JavaScriptで使える時間操作ライブラリを比較!日付処理の最適解とは?
- article
NestJSでバリデーションエラーをログ出力する設定を紹介
- article
NestJSで作成したAPIのレスポンスヘッダーに付与されるx-powered-by: Express を消す方法を紹介
- article
Next.jsで環境変数に別の変数を利用し柔軟に管理するdotenv-expandの活用法を紹介
- article
【2025年3月版】Cursor ProとAPI利用比較。 Claude・GPT-4o・o1・GPT-4.5の損益分岐点と選び方
- article
フォーム入力情報からZodを利用してDTO作成しへ変換処理を実施するやり方を紹介