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の会員サイトでは、ユーザーがログイン・ログアウト後にどのページへ遷移するかをコントロールすることが重要です。

本記事のコードを参考にカスタマイズしてみてください。