最も必要とされている時に、信頼できるWordPressチュートリアルを。
WordPress入門ガイド
WPBカップ
3000万以上
当社のプラグインを使用しているウェブサイト
20+
WordPress経験年数
3000+
専門家によるWordPressチュートリアル

WordPressでログイン成功後にユーザーをリダイレクトする方法

デフォルトでは、ユーザーがWordPressにログインすると、WordPress管理ダッシュボードにリダイレクトされます。

ただし、WordPressをeコマースプラットフォームとして製品、コース、ソフトウェアなどを販売するために使用している場合は、より良いエクスペリエンスのために、ユーザーをメンバーエリア、コースポータル、またはアカウントページにリダイレクトしたい場合があります。

このガイドでは、WordPressでカスタムログインリダイレクトをステップバイステップで設定する最も簡単な方法を説明します。

WordPressでログイン成功後にユーザーをリダイレクトする方法

簡単な概要:ユーザーロール、ユーザー名、または権限に基づいてログインリダイレクトを設定するには、LoginWPのような無料プラグインを使用できます。または、login_redirectフィルターを使用して、ユーザーを任意の場所にリダイレクトする小さなコードスニペットを使用することもできます。

この記事では、以下の内容を説明します。

方法1:LoginWPでログインリダイレクトを設定する

サインイン後にユーザーを特定のページにリダイレクトする最も簡単な方法は、無料のログインページプラグインであるLoginWPを使用することです。これにより、ユーザーロール、権限、ユーザー名などに基づいて、数回のクリックで簡単なログインリダイレクトを設定できます。

まず、WordPressダッシュボードからLoginWPプラグインをインストールしてアクティブ化します。詳細については、WordPressプラグインのインストール方法に関するステップバイステップガイドをご覧ください。

アクティブ化後、LoginWP »リダイレクトルールに移動します。

無料のWordPressプラグインを使用してログインリダイレクトルールを設定する方法

ここでは、さまざまな状況に対応するログインリダイレクトを作成できます。まず、ほとんどのウェブサイトオーナーが最初に必要とするオプションから始めましょう。

ログイン後の全ユーザーのリダイレクト

すべてのユーザーをログイン後に同じページに着地させたい場合は、ルールを作成する必要はありません。代わりに、LoginWPがより具体的なルールに一致しないすべての人に適用する包括的な設定を使用できます。

LoginWP »リダイレクトルール画面で、[すべてのその他のユーザー]セクションまでスクロールします。ここで、ログインURLとログアウトURLに使用するリンクを入力できます。

WordPressで全ユーザーのログインリダイレクトを設定する

完了したら、「変更を保存」ボタンをクリックします。

他にルールがない場合、この1つの設定でサイトにログインするすべての人に対応できます。また、後でセーフティネットとしても機能するため、ルールに一致しないユーザーも役立つ場所に誘導されます。

ユーザーロールによるWordPressユーザーのリダイレクト

ほとんどのメンバーシップサイトやオンラインストアでは、さまざまなユーザーロールを異なるページに送信することが次のステップとなります。たとえば、エディターを管理エリアに送信し、メール購読者を別のカスタムページに送信することができます。

これを行うには、[リダイレクトルール]画面の上部にある[新規追加]ボタンをクリックします。

次に、[ルール条件]ドロップダウンを開き、[ユーザーロール]を選択します。次に、2番目のドロップダウンから目的のロールを選択します。

ルール条件パネル:ユーザーロールと作成者を選択し、順序を2に設定します。以下のリダイレクトURLセクションにログイン/ログアウトフィールドがあります。

その後、[リダイレクトURL]セクションまでスクロールし、このロールに着地させたいページをログインURLフィールドに入力します。ログアウトURLを設定して、これらのユーザーがサインアウト後にどこに移動するかを制御することもできます。

また、順序番号を設定することもできます。これは、誰かが複数のルールに一致した場合の優先順位を決定します。LoginWPは番号の小さい方のルールを最初に適用しますが、これは同じ条件を使用するルール間でのみ機能します。つまり、順序番号では、ユーザーロールルールがユーザー権限ルールをオーバーライドすることはできません。

最後に、[ルールを保存]ボタンをクリックします。複数のユーザーロールに対して異なるログインリダイレクトを作成したい場合は、各ロールについてこれらの手順を繰り返します。

使用できるその他のルール条件

標準のユーザーロールはほとんどのセットアップに対応しますが、[ルール条件]ドロップダウンを使用すると、3つの異なるフィルターを使用してオーディエンスをターゲットにすることができます。

WordPressでユーザーロールに基づいてリダイレクトする方法

さまざまなオプションの概要を以下に示します。

  • ユーザーロール – すべての購読者やすべての顧客など、同じロールを共有するすべての人をターゲットにします。
  • ユーザー権限 – publish_posts権限のような単一の権限を持つすべての人を対象とします。特定のロールではなく。
  • ユーザー名 – 特定の個人を対象とします。これは、各個人が独自のランディングページを必要とする小規模チームに適しています。

どの条件を選択しても、ルールの残りの部分はまったく同じように機能します。2番目のドロップダウンから値を選択し、ログインとログアウトのURLを入力してから、「ルールの保存」ボタンをクリックします。

WordPressでのユーザー登録リダイレクトの設定

ウェブサイトで新しいユーザーがサインアップすると、WordPressはそれらをログインページにリダイレクトします。代わりにリダイレクトURLを使用して、ウェブサイトの他のページに送信できます。

これを行うには、LoginWP »リダイレクトルール画面に移動し、「登録後」セクションまでスクロールします。

WordPressでのユーザー登録リダイレクトの設定

ここで、使用したいURLを入力し、「変更の保存」ボタンをクリックします。

ルールが設定されたら、テストアカウントでログインして実際に機能するかどうかを確認する価値があります。次に、正しいページにリダイレクトされていることを確認します。

カスタムデザインのログインフォームとログインページをご希望の場合は、独自のredirect設定を備えた完全なカスタムログインページの構築ガイドをご覧ください。

メソッド2:コードスニペット(WPCodeを使用)でユーザーをリダイレクトする

ログインリダイレクトをコードで作成したい場合は、WordPressの組み込みlogin_redirectフィルターを使用できます。フィルターを使用すると、WordPressのコアファイルを変更せずにWordPressの動作を変更できます。この場合、login_redirectフィルターを使用すると、サインイン後にユーザーがどこに送信されるかを制御できます。

以下に、実行したいリダイレクトに応じて使用できる2つのコードスニペットを示します。コーディングがわからない場合は心配しないでください。スニペットを選択すると、サイトに安全に追加する方法を正確に示します。

ログイン後にすべてのユーザーを同じページに送信するスニペットを次に示します。

add_filter( 'login_redirect', 'wpb_login_redirect_all', 10, 3 );
function wpb_login_redirect_all( $redirect_to, $requested_redirect_to, $user ) {
    // Send every user to this page after they log in.
    return home_url( '/members-area/' );
}

ログイン後に人々がアクセスするページを、/members-area/から変更することを忘れないでください。

異なるユーザーロールを異なるページに送信する

単一のリダイレクトは基本的なサイトでは問題なく機能しますが、すべてのウェブサイトに適しているわけではありません。たとえば、メンバーシップサイトでは、管理者はダッシュボードに直接送信し、アクティブなメンバーはアカウントページに直接アクセスするようにしたい場合があります。

この代替コードスニペットは、各ユーザーのロールを確認し、適切な場所に送信します。

add_filter( 'login_redirect', 'wpb_login_redirect_by_role', 10, 3 );
function wpb_login_redirect_by_role( $redirect_to, $requested_redirect_to, $user ) {
    // Make sure we have a valid user with roles.
    if ( isset( $user->roles ) && is_array( $user->roles ) ) {
        // Send administrators to the WordPress dashboard.
        if ( in_array( 'administrator', $user->roles, true ) ) {
            return admin_url();
        }
        // Send all other users to a custom page.
        return home_url( '/members-area/' );
    }
    return $redirect_to;
}

現在、このスニペットは管理者をメインダッシュボードに送信し、他のすべてのユーザーをメンバーページに送信します。administratorをeditorやsubscriberなどの別のロールに置き換え、URLをサイトに合わせて変更できます。

WPCodeでスニペットを安全に追加する

テーマのfunctions.phpファイルを直接編集するのは危険です。なぜなら、そこに小さな間違いがあると、サイト全体がオフラインになる可能性があるからです。

どちらのスニペットも安全に追加するには、代わりに無料のWPCodeプラグインをお勧めします。これにより、テーマファイルを変更せずにカスタムコードを追加できます。

WPCodeをインストールしてアクティブ化した後、コードスニペット » + スニペットを追加に移動します。次に、「カスタムコードを追加(新規スニペット)」ボックスにカーソルを合わせ、「カスタムスニペットを追加」ボタンをクリックし、コードタイプとして「PHPスニペット」を選択します。

WPCodeにカスタムスニペットを追加する

次の画面で、後で認識できるスニペットの名前(例:「ログインリダイレクト」)を付けます。その後、選択したスニペットを「コードプレビュー」ボックスに貼り付けます。

WPCodeを使用してリダイレクトを設定する方法

コードボックスの下で、挿入方法が「自動挿入」に設定され、場所が「すべてで実行」に設定されていることを確認します。

これにより、ログインプロセス中にスニペットが読み込まれます。

WPCodeを使用してコードスニペットを自動的に挿入する

最後に、ページ上部のスイッチを「非アクティブ」から「アクティブ」に切り替え、次に「スニペットを保存」ボタンをクリックします。

ウェブサイトのカスタムコードスニペットを公開する

リダイレクトが機能することを確認するには、サイトからログアウトし、テストアカウントで再度ログインします。

ロールベースのスニペットを使用している場合は、管理者や購読者など、複数のアカウントをテストするのが良いでしょう。これにより、各ロールが正しいページに移動することを確認できます。

リダイレクトが発生しない場合は、スニペットを再度開き、トグルが「アクティブ」に設定され、場所が「すべてで実行」に設定されていることを確認します。次に、「スニペットを保存」ボタンをクリックして、もう一度ログインをテストします。

プラグインのその他の使用方法については、WordPressにカスタムコードを追加する方法のガイドをご覧ください。

WordPressで一般的なログイン問題をトラブルシューティングする方法

リダイレクトの設定は通常スムーズに進みます。ただし、ウェブサイトの設定やプラグインによっては問題が発生する可能性があります。

これらの問題を解決するためのヒントをいくつかご紹介します。

ダッシュボードから、設定 » パーマリンクに移動し、何も変更せずに「変更を保存」ボタンをクリックします。

ウェブサイトのパーマリンク構造を更新する

これにより、WordPressのパーマリンク設定が更新されます。一般的なリダイレクトの問題が発生している場合は、これで問題が解決することがよくあります。

詳細については、WordPressパーマリンクの再生成方法に関するガイドをご覧ください。

2. ログインページのリダイレクト問題を修正する

ログインページが繰り返しリフレッシュされ、ログインフォームに戻される場合は、ブラウザのキャッシュまたはCookieの問題が原因であることがよくあります。

まず、ブラウザのキャッシュとCookieをクリアしてみてください。WordPressのキャッシュプラグインを使用している場合や、ウェブホスティングに組み込みのサーバーキャッシュがある場合は、これらのキャッシュもクリアする必要があります。それでも問題が解決しない場合は、設定の競合の兆候である可能性があります。

ヘルプについては、WordPressのログインページがリフレッシュおよびリダイレクトされる問題の修正方法に関するガイドをご覧ください。

ログイン成功後にユーザーをリダイレクトすることに関するよくある質問

ログイン成功後にユーザーをリダイレクトすることについて、読者がよく尋ねる質問をいくつかご紹介します。

ユーザーのロールに基づいて異なるページにユーザーをリダイレクトすることはできますか?

はい。LoginWPのようなプラグインを使用するか、簡単なコードスニペットを使用して、ロールに基づいてユーザーをリダイレクトできます。これは、メンバーシップサイト、オンラインストア、またはマルチユーザーブログを実行している場合に役立ちます。

たとえば、次のようにリダイレクトできます。

  • 管理者はWordPressダッシュボードに。
  • 顧客はアカウントページまたはお礼ページに。
  • 寄稿者または著者は投稿エディターまたは保留中の下書きセクションに。

プラグインを使わずにログイン後にユーザーをリダイレクトできますか?

はい。上記の方法2で説明したように、login_redirectフィルターにフックする簡単なコードスニペットを追加できます。簡単な間違いでサイトが壊れないように、テーマのfunctions.phpファイルを直接編集するのではなく、無料のWPCodeプラグインで追加することをお勧めします。

コードを直接編集することにした場合は、何か問題が発生した場合にサイトを復元できるように、必ず最初にバックアップを作成してください。

カスタムログインフォームからログインした後にユーザーをリダイレクトすることは可能ですか?

はい。WPFormsのようなプラグインで構築されたカスタムログインフォームを使用している場合は、フォーム設定で直接リダイレクトURLを設定できます。

これにより、次のことが可能になります。

  • ユーザーをウェルカムページまたはサンキューページに送信します。
  • アカウントエリアまたはダッシュボードに誘導してください。
  • メンバーシップレベルに基づいて、特別なオファーやメッセージを表示します。

この記事が、WordPressでログイン成功後にユーザーをリダイレクトする方法を学ぶのに役立ったことを願っています。また、WordPressのログインURLを見つける方法の完全ガイドや、WordPressで二要素認証を設定する方法のチュートリアルも参照してください。

この記事が気に入った場合は、WordPressのビデオチュートリアルのために、YouTubeチャンネルを購読してください。また、TwitterFacebookでも私たちを見つけることができます。

開示: 当社のコンテンツは読者によってサポートされています。これは、一部のリンクをクリックすると、手数料が発生する可能性があることを意味します。WPBeginnerがどのように資金調達されているか、なぜそれが重要なのか、そしてどのように私たちをサポートできるかを確認してください。こちらが当社の編集プロセスです。

究極のWordPressツールキット

無料のツールキットにアクセスしましょう - すべてのプロフェッショナルが持つべきWordPress関連の製品とリソースのコレクションです!

読者とのインタラクション

27件のコメント返信する

  1. 記事をありがとうございます。管理者をのぞくすべてのユーザーをルールページにリダイレクトしたいときに、この問題が解決しました。WPFormsのおかげで、これは非常に簡単かつ効果的に機能しました。これで、ユーザーはログイン直後にサイトルールにアクセスできるようになります。

  2. 素晴らしいチュートリアルです!ユーザーがログインしてプロフィールページに移動するという、悩ましい問題を解決しました。

  3. この投稿に感謝します。「トラブルシューティング」セクションは、リダイレクトリクエストでプラグインの管理ページに表示され続けた「ヘッダー情報の変更不可 – ヘッダーは既に送信されています…」という警告を解決しようとしていた私を救ってくれました。あなたの提案を試して、何も変更せずにパーマリンクを保存したところ、魔法のようにうまくいきました。

  4. このプラグインを使用すると、ホームページ(「ルートURL」)にアクセスしたすべてのログイン済みユーザーを、通常はホームページに送信されるはずの特定のページにリダイレクトできますか?

    • これらのリダイレクトは、ユーザーがサイトにログインした直後に適用され、ログインしたまま戻ってきた場合には適用されません:)

      管理者

  5. こんにちは、

    ユーザーがログインした後、カスタムページに正常にリダイレクトできます。

    しかし、ログインするとプロフィール編集オプションが表示されます。これを無効にして、ユーザーがプロフィール編集オプションにアクセスできないようにするにはどうすればよいですか?

    敬具
    デビッド

    • プラグインにはhttp_referer変数を使用しますが、設定方法の詳細はプラグインのサポートに問い合わせる必要があります:)

      管理者

  6. こんにちは、

    ユーザー数の上限はいくつですか?
    約2000〜5000人の登録済みWordPressユーザーがいるサイトを計画しています。

    みんなにそれぞれのプライベートエリアを持たせたいです。

    ありがとう

  7. WordPressに慣れてきたと思ったのですが、指示に従っても機能しません。私のせいでしょう…他の誰も機能していないという返信がないので、そうに違いありません。

  8. こんにちは。
    長年ピーターのログインリダイレクトを愛用してきましたが、WooCommerceに移行したところ、他の多くの人が見つけたように、WooCommerceはログイン後のリダイレクトフックを保護しています。

    そして今、私のすべてのログインはmy-accountにリダイレクトされます。

    Petersのサポートページを読みましたが、フックを掴んでいるものを確認することについての言及はありますが、私の質問は、それが何であるかはわかっており、それをどのように修正する必要があるかを知りたいということです。

    インターネットに聞いてみたらどうなるかと思って尋ねてみました。

  9. こんにちは、

    いくつか質問があるのですが、お手伝いいただけますでしょうか。多くの異なるユーザーを設定したいのですが、各ユーザーは特定のページに誘導され、特定の情報のみを見ることができるようにしたいのです。
    例:
    ユーザー1はログイン後、ページ1のみを表示できます。
    ユーザー2はログイン後、ページ2のみを表示できます。
    ユーザー3はログイン後、ページ3のみを表示できます。

    最大30人の異なるユーザーがいる可能性があります。

    これについてお手伝いいただけますか?それとも、これを行うプラグインはありますか?

  10. こんにちは、Peter's login redirect を使用していますが、ユーザーを彼らのアカウントにリダイレクトさせる方法を知りたいです。

    プロフィールページ。 example.com/my-account/members/USERNAME/profile は機能しません。

    ただし、example.com/my-account/members/SPECIFIC USERNAMES/profile は可能です。

    したがって、ユーザー名のかわりにプロフィール名を指定しない限り、特定のユーザーにリダイレクトさせることはできません。

    プラグインディレクトリを使用しました。URLに[variable]username[/variable]構文を使用すると、システムはログインごとに動的なURLを構築し、そのテキストをユーザーのユーザー名に置き換えます。usernameに加えて、“userslug”、“homeurl”、“siteurl”、“postid-23”、“http_referer”があり、独自のカスタムURL“variables”を追加することもできます。ドキュメントについては、その他の注記/拡張方法を参照してください。

    しかし、うまくいきません。手伝ってもらえますか?ありがとう。

    • プラグインのサポートページでサポートスレッドを開いてください。以前にこの問題に直面した人がいる可能性があり、プラグインの著者が正しい方向を指し示してくれるかもしれません。

      管理者

返信する

コメントいただきありがとうございます。すべてのコメントは、コメントポリシーに従ってモデレーションされ、メールアドレスは公開されません。名前フィールドにキーワードを使用しないでください。個人的で意味のある会話をしましょう。