WordPressの会員サイトや特定のユーザーグループ向けのサイトを構築する際、ログイン後に管理画面(ダッシュボード)ではなく、特定のページに遷移させたいケースがあります。また、ログアウト後の遷移先を変更することもよく求められます。この記事では、これらの実装方法について詳しく説明します。
ログイン後の遷移先を変更する
ユーザーがログインした後、特定のページに遷移させたい場合は、以下のコードを functions.php に追加します。このサンプルコードではユーザーをトップページ(ホームページ)に遷移させるように設定しています。
function custom_login_redirect() { return home_url(); } add_filter( 'login_redirect', 'custom_login_redirect' );
たとえば、「home_url()」をsite_url('/your-page/')
に変更することで、特定のページにリダイレクトさせることができます。
ログアウト後の遷移先を変更する
ログアウトした後に、ユーザーをトップページや任意のページに遷移させたい場合、以下のコードをfunctions.phpに追加してください。このサンプルコードでは、トップページに遷移します。
function custom_logout_redirect() { wp_redirect( home_url() ); exit(); } add_action( 'wp_logout', 'custom_logout_redirect' );
wp_logout()
は、WordPressの管理画面からユーザーがログアウトした際に処理が追加されます。
wp_redirect()
関数に遷移先のURLを指定することで、ログアウト後のリダイレクトが実現できます。
まとめ
特にWordPressの会員サイトでは、ユーザーがログイン・ログアウト後にどのページへ遷移するかをコントロールすることが重要です。
本記事のコードを参考にカスタマイズしてみてください。