ログイン後のリダイレクト先を分岐させたい
-
会員専用サイトを作りたいです。会員専用サイトなので、必ず最初にログインしてもらうのですが、ログイン後のリダイレクト先をトップページに変更したいです。
具体的には、以下のような動きです。◎WordPressのデフォルトの動き
普通にログインする⇒ダッシュボードに遷移する
未ログインの状態でページに直接アクセスする⇒ログインに成功したら行きたかったページに行ける◎希望する動き
普通にログインする⇒トップページに遷移する
未ログインの状態でページに直接アクセスする⇒ログインに成功したら行きたかったページに行ける普通にログインするとトップページに必ず飛ばされるようにするのは、調べて以下のようにしたら実現できました。
if(!function_exists('mbe_wp_home_page')){ function mbe_wp_home_page($username, $user){ wp_redirect(site_url('/', 'http'), 301); exit; } add_action('wp_login', 'mbe_wp_home_page', 10, 2); }
でも、デフォルトの動きの「未ログインの状態でページに直接アクセスする⇒ログインに成功したら行きたかったページに行ける」もやりたかったので、更に色々付け加えてみたのですが、どうも希望する動きができません。
そこで、ページに直接アクセスする時のログイン画面のURLと、未ログインの状態で行きたい場所がある場合のログイン画面のURLが違うようだったので、以下のようなif文を書いてみたのですが、今度は通常ログインのトップページ遷移が効かなくなってしまいました。
if(!function_exists('mbe_wp_home_page')){ if($_SERVER["REQUEST_URI"]=="http://example.jp/wp-login.php?redirect_to=http%3A%2F%2Fexample.jp%2F"||$_SERVER["REQUEST_URI"]=="http://example.jp/wp-login.php?loggedout=true"){ function mbe_wp_home_page($username, $user){ wp_redirect(site_url('/', 'http'), 301); exit; } } add_action('wp_login', 'mbe_wp_home_page', 10, 2); }
アドバイスいただけたらと思います。よろしくお願いします。
2件の返信を表示中 - 1 - 2件目 (全2件中)
2件の返信を表示中 - 1 - 2件目 (全2件中)
- トピック「ログイン後のリダイレクト先を分岐させたい」には新たに返信することはできません。