WordPressでログイン後にユーザーを役割でリダイレクト

WordPressは、ユーザーの役割と権限を管理できる人気の高い堅牢なコンテンツ管理システムです。多くのウェブサイトに共通するニーズの一つは、ユーザーに割り当てられた役割に応じて異なるページへユーザーを誘導する機能です。

WordPressには、管理者を特定のダッシュボードへ、購読者をメンバー専用エリアへ、または役割に基づいてカスタムランディングページへユーザーをリダイレクトするための、柔軟なオプションが揃っています。

この記事では、WordPressでユーザーをその役割に基づいてリダイレクトするさまざまな方法を紹介します。記事の最後には、割り当てられた役割に基づいてユーザーをリダイレクトするためのさまざまなアプローチをよりよく理解し、これらの方法を簡単にWordPressサイトに実装できるようになります。

ログイン後にWordPressユーザーをリダイレクトする最もシンプルな2つの方法

方法1:プラグインを使用する

WordPressには、複雑なタスクをシンプルにできる膨大なプラグインリポジトリがあります。人気のプラグインの一つ、「Peter’s Login Redirect」は、ロールベースのリダイレクトを可能にします。

WordPressサイトでログイン後にリダイレクトするための手順は次のとおりです。

  1. まず、WordPressのダッシュボードに移動します。
  1. **「プラグイン」**セクションに移動し、「新規追加」ボタンをクリックします。
新規プラグインを追加
  1. **「Peter’s Login Redirect」を検索し、「有効化」**をクリックしてプラグインを有効化します。
  1. プラグインを有効化したら、左側のメニューにある**「LoginWP」オプションをクリックし、続いて「Redirections」**オプションをクリックします。
「Redirections」オプションを開く

特定のWordPressユーザー向けにログインリダイレクトを設定する

  1. **「Redirections」オプションをクリックすると、「Redirection Rules」オプションのメニューが表示されます。次に「Add New」**オプションをクリックします。
役割に基づいてユーザーをリダイレクト
  1. リダイレクト設定を行う**「新しいページ」**に移動します。
役割に基づいてユーザーをリダイレクト
  1. **「Rule criteria」ドロップダウンから「Username」**条件を選択し、ユーザー名を入力します。
役割に基づいてユーザーをリダイレクト
  1. その後、ログインログアウト時に、ユーザーをリダイレクトしたいURLを指定し、変更を保存して**「Save Rule」**ボタンをクリックします。
役割に基づいてユーザーをリダイレクト

WordPressのログインリダイレクトをユーザー役割別に設定する

上記の手順がこの手順にも当てはまります。**「Redirection Rules」セクションのボタンから「Add New」を選択するだけです。次に、「Rule Condition」ドロップダウンから「User Role」**条件を選択した後、ドロップダウンリストからユーザー役割を選びます。

さらに、順番を任意の数字に変更することができ、これによってプラグインの設定がこのルールをどのように保存・表示するかが変わります。

役割に基づいてユーザーをリダイレクト

その後、そのユーザー役割を誘導したい場所のログイン用URLとログアウト用URLを入力します。続いて**「Save Rule」**ボタンを押します。

リダイレクトのルール

上記の手順を繰り返して、異なるユーザー役割に対してさまざまなログインリダイレクトを設定します。

すべてのユーザー向けのWordPressログインリダイレクト設定

プラグインのオプションページでは、その他すべてのユーザーに対してリダイレクトを設定できます。上で設定した制約に該当しないユーザーをここでURLを指定してリダイレクトできます。

「All Other Users」セクションには、ログイン用URLとログアウト用URLが必要です。その後、**「Save Changes」**ボタンをクリックします。

役割に基づいてユーザーをリダイレクト

設定を保存すれば、プラグインが割り当てられた役割に応じてユーザーをリダイレクトします。

🔥安全策をとりましょう: WP Stagingを使えば、公開前にアップデート、プラグイン、テーマをテストでき、スムーズなユーザー体験を確保できます。 このオファーを手に入れる!

方法2:カスタムコードスニペット

より実践的なアプローチを好む場合は、WordPressテーマのfunctions.phpファイルにカスタムコードスニペットを追加することで、役割ベースのリダイレクトを実現できます。この方法を使用するには、次の手順に従います。

  1. FTPまたはホスティングコントロールパネルのファイルマネージャー経由でWordPressのインストール先にアクセスします。
役割に基づいてユーザーをリダイレクト
  1. テーマプラグインが含まれているwp-contentディレクトリに移動します。
役割に基づいてユーザーをリダイレクト
  1. 「themes」フォルダを開き、アクティブなテーマに対応するフォルダを見つけます。このフォルダの名前は、WordPressウェブサイトで現在有効化しているテーマと一致するはずです。
  1. アクティブなテーマのフォルダ内でfunctions.phpという名前のファイルを探します。このファイルはWordPressテーマ内のさまざまな関数カスタマイズを担います。
  1. テキストエディタでfunctions.phpファイルを開き、次のコードスニペットを追加します。
PHP
function role_based_redirect() {
    if ( is_user_logged_in() ) {
        $user = wp_get_current_user();
        $roles = ( array ) $user->roles;
        if ( in_array( 'administrator', $roles ) ) {
            wp_redirect( 'https://example.com/admin-dashboard' );
            exit;
        } elseif ( in_array( 'subscriber', $roles ) ) {
            wp_redirect( 'https://example.com/members-area' );
            exit;
        } // Add more conditions for other roles and URLs as needed
    }
}
add_action( 'template_redirect', 'role_based_redirect' );
  1. wp_redirect()関数内のURLを、各役割に応じた希望のリダイレクト先URLに変更します。functions.phpファイルを保存すれば、リダイレクトのルールはすぐに有効になります。

まとめ

役割に基づいてユーザーをリダイレクトすることは、特定のユーザーグループに合わせたコンテンツを提供することでユーザー体験を大幅に向上できる、価値ある機能です。WordPressは、プラグインを選ぶか、カスタムコードスニペットを実装するかに関わらず、役割ベースのリダイレクトを柔軟に実現できます。

プロのヒント: 心配のないウェブサイト開発体験のために、WP StagingはWordPressのステージング環境を作成するための信頼できるツールです。 このリンクをクリックすると無料でダウンロードできます!

関連記事:

Rene Hermenau

著者: Rene Hermenau

著者について: René Hermenau は WP STAGING の創設者です。WordPress のバックアップ、ステージング、移行、データベース処理、安全なデプロイメントワークフローに取り組んでいます。