ログイン後のリダイレクト調整をする
デフォルトのWordPressは、ログアウトすると再びログインフォームに戻ってしまいます。1アクションではありますが、トップページ(記事)に戻るには、ひと手間がかかります。
特に、認証が必要ない場合はHTTP、管理画面やログインユーザはHTTPSに切り替えるという設定をしているので、ログアウト後はHTTPS –> HTTPのURLに戻って欲しいと考えました。
WordPress、ログアウト、リダイレクトというキーワードで検索すると、こちらの記事がヒット。
- http://ja.forums.wordpress.org/topic/6750 (ログアウト後のリダイレクト)
どうやらPHPのファイルに指定されている redirect_to の先を好きなURLに書き換えてあげれば良さそうとのこと。
対象のファイルは、wp-login.phpです。
URLを直書きしても良かったのですが、このWordPressはお引越しの可能性もあるので、サイトとして設定されているURLを指定するように変更。
//$redirect_to = !empty( $_REQUEST['redirect_to'] ) ?
// $_REQUEST['redirect_to'] : 'wp-login.php?loggedout=true';
$redirect_to = site_url('', 'http');
wp_safe_redirect( $redirect_to );
サイトURLって、なにか定数か関数になってないかなあと思ったら、確かに、http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/site_url (テンプレートタグ)にそのものがありました。
この関数の引数には、サイトのルート下のパスと、Schemaと言ってHTTPのプロトコルを指定すれば良いらしく、上記の修正箇所では、 site_url('', 'http'); と書かれている部分が該当します。
おかげ様で、これでひと手間省けるようになりました。
コメント
コメントを投稿