AI要約
WordPressサイトのログインと登録のリダイレクトを設定しますか?
デフォルトでは、WordPressは登録またはログイン後にユーザーを特定の管理画面に誘導しますが、これは常に便利とは限りません。
この記事では、登録またはログイン後にユーザーにアクセスしてほしいページにリダイレクトする方法を紹介します。また、デフォルトの登録ページが表示されないようにリダイレクトする方法も紹介します。
WordPressの登録後にユーザーをリダイレクトするにはどうすればよいですか?
登録後にユーザーをリダイレクトする最も簡単な方法は、WPFormsユーザー登録アドオンを使用することです。
このアドオンを使用すると、コードを書かずに登録プロセスをカスタマイズし、リダイレクトを作成できます。
ユーザー登録アドオンを使用すると、WordPressのデフォルト登録フォームをバイパスするカスタム登録ページを開発できます。その後、これらのページを非表示にして、訪問者が決して表示しないようにすることができます。

まず、サイトに登録またはログインした後にユーザーをリダイレクトする方法を説明します。最後に、デフォルトのログインおよび登録ページを非表示にするリダイレクトを作成する方法を説明します。
WordPress でログインと登録のリダイレクトを追加する方法
まず登録およびログインページを作成し、次に訪問者をリダイレクトするさまざまな方法を説明します。
この記事の内容
早速始めましょう。
1. WPFormsをインストールする
カスタムログインおよび登録フォームを作成する最も簡単な方法は、WPFormsを使用することです。WPFormsは、WordPressで最も評価が高く、ユーザーフレンドリーなフォームビルダープラグインです。その多くの機能の1つに、ログイン、登録、パスワードリセットフォームを作成できるユーザー登録アドオンがあります。
ユーザー登録アドオンにアクセスするには、少なくともWPForms Proライセンスが必要です。

WPFormsライセンスを購入したら、WPFormsのインストールの手順を参照して、サイトに設定してください。
サイトでWPFormsをアクティブ化した後、ユーザー登録アドオンをインストールする必要があります。これを行うには、WordPress管理エリアからWPForms » アドオン に移動します。

次に、右側の検索バーでユーザー登録を検索して、このアドオンを見つけます。次に、その下にあるアドオンのインストール をクリックします。

ユーザー登録アドオンは5秒未満でインストールされます。これで、WPFormsを使用して登録フォームの作成を開始できます。
2. 登録フォームを作成する
開始するには、WPForms » 新規追加 に移動してビジュアルフォームビルダーインターフェイスを開きます。次に、フォームに名前を付けます。

以下に、数百のフォームテンプレートのライブラリがあります。リストからユーザー登録フォームを選択します。

これにより、必要なすべてのフィールドがフォームに含まれた登録フォームが迅速に生成されます。

すべてのWPFormsテンプレートは100%カスタマイズ可能なので、必要に応じてフィールドを追加したり、短い自己紹介などの必須でないフィールドを削除したりできます。カスタマイズの可能性の一部を垣間見るには、ユーザー登録フォームの作成方法に関する詳細ガイドをご覧ください。
次に、ユーザーにとって便利で安全な登録体験を確保するために、フォーム設定を構成しましょう。
3. 登録フォームの設定をカスタマイズする
WPFormsは、ユーザーがサイトにアカウントを登録し、その後ログインする方法について、多くの柔軟性を提供します。
これらの設定にアクセスするには、設定 » ユーザー登録をクリックします。

ここでは、フィールドマッピングオプションが表示されます。これにより、ユーザーのWordPressアカウントの詳細に対応するフォームフィールド値を選択できます。

ユーザーロールセクションを下にスクロールします。ここで、このフォームを使用してサインアップしたときに個人に割り当てられるWordPressユーザーロールとアクセスレベルを選択できます。
これが購読者向けの登録フォームの場合は、ドロップダウンメニューから購読者を選択します。

ユーザーロールのすぐ下にある次の設定は、ユーザーアクティベーションとログインです。これは非常に便利なオプションであり、新規ユーザーのアカウントアクティベーションをどのように処理したいかについて、多くの柔軟性を提供します。
デフォルトでは無効になっており、ユーザーが登録フォームを送信するとすぐに新しいアカウントが作成されることを意味します。
ただし、スパム登録を排除することで登録プロセスをより安全にするため、ユーザーアクティベーションを有効にすることをお勧めします。
有効にするには、ユーザーアクティベーションを有効にするの横にあるトグルボタンをオンにします。

これにより、アクティベーション方法を選択できる新しいドロップダウンメニューが表示されます。手動承認を選択すると、各新規ユーザーアカウントを手動で承認してアクティベートする必要があります。
一方、ユーザーメール方法は、ユーザーが提供したメールアドレスにアクティベーションリンクを含むメッセージを送信します。

ユーザーメールを選択した場合、アカウントアクティベーションのためにユーザーに送信されるメールメッセージをカスタマイズするための追加オプションが表示されます。
このメールのすべての内容を変更できますが、{url_user_activation}タグが含まれていることを確認してください。ユーザーはアカウントをアクティベートするためにこのリンクが必要になります。

次に、ユーザーがアカウントアクティベーションURLをクリックしたときにリダイレクトされる確認ページを選択します。ドロップダウンを使用して、サイト上の適切なページを選択できます。

アカウントが作成されるとすぐにユーザーが自動的にログインできるようにしたい場合もあります。この設定をオンにするには、自動ログインを有効にするトグルボタンをクリックします。

また、受信したいメール通知や、フォームに入力した後にユーザーに送信するメール通知を制御することもできます。
ユーザー登録設定の下部近くにあるメール通知セクションを見つけ、トグルボタンを使用してさまざまな種類のメール通知を選択します。各メールタイプの横にあるテンプレートを編集リンクをクリックして、メッセージの内容を変更することもできます。

完了したら、右上隅にある保存をクリックして、設定とカスタマイズを保存します。

次のステップでは、それに合わせてログインフォームをすばやく作成します。
4. ログインフォームを作成する
これで登録フォームの準備ができました。登録ユーザー用のログインフォームも必要になります。今回は、WPFormのテンプレートを選択画面からユーザーログインフォームテンプレートを選択します。

これは、ユーザー名とパスワードフィールドのみで構成される非常にシンプルなフォームです。また、ログイン情報を記憶する オプションもあり、ユーザー名を安全に保存することで、ユーザーの将来のログインをより速くします。

ログインフォームの設定を表示するには、設定 » ユーザー登録をクリックします。

ここでは、ログイン中のユーザーにフォームを非表示にしてメッセージを表示するかどうかを選択できます。ユーザーがログイン中の場合はフォームを非表示にするの横にあるトグルボタンを使用して、この設定を有効にできます。

好みに合わせてカスタマイズしたら、忘れずにフォームを保存してください。
5. 登録フォームとログインフォームを埋め込む
これで、フォームを埋め込んで公開する準備ができました。他のすべてと同様に、WPFormsはこれも非常に簡単にします。
フォームビルダーインターフェイスの右上隅にある埋め込みボタンをクリックします。

次に、デフォルトのWordPressログインページをバイパスするために、登録およびログイン用の新しいページにフォームを埋め込むため、新規ページを作成 をクリックします。

新しいページの名前を入力してから、開始を押します。

これで、フォームがページコンテンツ内に自動的に埋め込まれているのが表示されます。続行するには、公開 をクリックします。

おめでとうございます!登録フォームの作成と公開に成功しました。
フォームがWordPressサイト(Twenty Twenty-One)のテーマを反映しており、固定フィールドと一般的なデザインのデフォルトのWordPress登録ページとは異なり、カスタマイズされたフィールドが含まれていることに注意してください。

ログインフォームも同様に埋め込んで公開するために、上記と同じ手順を繰り返します。
次に、コードを記述または貼り付けることなく、ユーザーが登録またはログインした後にリダイレクトする方法を示します。
6. 登録またはログイン後にユーザーをリダイレクトする
WPFormsを使用すると、WordPressでの登録またはログイン後のリダイレクトを制御できます。つまり、登録またはログインフォームを送信した後にどのページに移動するかを決定できます。
これを設定するには、すでに作成した登録フォームを編集します。

次に、ユーザー登録フォームの確認設定に移動します。

デフォルトでは、WPFormsは登録後に確認メッセージを表示します。必要に応じて、これを ページを表示に変更して、新しいユーザーがウェブサイトの別のページに自動的に転送されるようにすることができます。

これで完了です!これで、サイトに誰かが登録するたびに、確認メッセージの代わりにカスタムページが表示されるようになります。
ログイン後のリダイレクトトリックをそのまま使用して、サイトへのログイン後にユーザーを任意のページにリダイレクトすることもできます。
最後のヒントとして、ユーザーをブランドの新しいカスタム登録およびログインページにリダイレクトする方法をご紹介します。
7. カスタム登録ページとログインページにユーザーをリダイレクトする
サイトにカスタム登録およびログインページを作成した後でも、ユーザーは直接URLを使用してデフォルトの登録およびログインページにアクセスできます。これは望ましくない場合があります。
- 登録ページのURLは次のとおりです:
http://example/wp-login?action=register - ログインページのURLは次のとおりです:
http://example.com/wp-login.php/
これらのURLから新しいURLへのリダイレクトを追加する方法を説明します。
このリダイレクトを有効にするには、次のコードスニペットをfunctions.phpファイルに追加するだけです。このコードスニペットは、ユーザーがデフォルトの登録ページにアクセスしようとしたときに、カスタム登録ページのURLスラッグにリダイレクトします。
コードの追加方法がわからない場合は、functions.phpファイルにコードスニペットを貼り付ける方法に関するこの記事を参照して、WordPressのエラーを防いでください。
登録ページのリダイレクト
注意:以下のコードの/registration-urlを、カスタム登録ページの新しいURLに置き換えてください。
// Redirect Registration Page
function my_registration_page_redirect()
{
global $pagenow;
if ( ( strtolower($pagenow) == 'wp-login.php') && ( strtolower( $_GET['action']) == 'register' ) ) {
wp_redirect( home_url('/registration-url'));
}
}
add_filter( 'init', 'my_registration_page_redirect' );
コード提供: 2bearstudio
ログインページのリダイレクト
注意:以下のコードの/login-urlを、カスタムログインページの新しいURLに置き換えてください。
function my_redirect_login_page() {
$login_page = home_url( '/login-url' );
$page_viewed = basename($_SERVER['REQUEST_URI']);
if( $page_viewed == "wp-login.php" && $_SERVER['REQUEST_METHOD'] == 'GET') {
wp_redirect($login_page);
exit;
}
}
add_action('init','my_redirect_login_page');
コード提供: PressTigers
これで完了です!訪問者はWordPressのカスタムログインおよび登録ページにリダイレクトされるようになります。
次に、HubSpot CRM連携を探る
HubSpotを他のツールやアプリと連携させることは、ワークフローをより効率的にするための非常に強力な方法です。いくつかの優れたオプションを探るために、最高のHubSpot CRM連携に関する投稿をご覧ください。
また、カスタムWordPressテーマの作成方法に関するチュートリアルも確認することをお勧めします。
フォームの作成準備はできましたか?最も簡単なWordPressフォームビルダープラグインで今日から始めましょう。WPForms Proには多くの無料テンプレートが含まれており、14日間の返金保証が付いています。
もしこの記事がお役に立ったなら、WordPressの無料チュートリアルやガイドをもっと知るために、FacebookとTwitterでフォローしてください。

このコードを使用すると、/wp-login?action=registerのリダイレクトはうまく機能しますが、/loginおよび/wp-login.phpページについても同様のことを行うにはどうすればよいですか?
このコードで試しましたが、本当に何をしているのかわかりません。基本的に推測しているだけです。
//ログインページのリダイレクト
function my_login_page_redirect()
{
global $pagenow;
if ( ( strtolower($pagenow) == ‘wp-login.php’) && ( strtolower( $_GET[‘action’]) == ‘login’ ) ) { wp_redirect( home_url(‘/my-account’)); } }
add_filter( ‘init’, ‘my_login_page_redirect’ );
ジョンさん、こんにちは。
良い質問ですね。実際、このためのコードはカスタムログインページチュートリアルで共有しました(その記事の番号2を参照してください)。
お役に立てれば幸いです! 🙂
こんにちは、
ユーザーが登録/ログインするためにクリックしたボタンに基づいて、特定の場所にリダイレクトすることは可能ですか?
つまり、異なるボタンはそれぞれ異なる登録/ログインフォームにリンクされ、それぞれが特定の住所にリダイレクトされるということです。
それは可能でしょうか?
よろしくお願いします。
こんにちは、Sowxさん
ご質問の意図を100%理解しているか自信がありませんが、はい、ウェブサイトのボタンを異なるフォームにリンクし、それらのフォームが送信されたら、ユーザーを別のURLにリダイレクトさせることができます。フォーム送信時のユーザーリダイレクトに関する詳細情報が必要な場合は、こちらのガイドをご覧ください!
お役に立てば幸いです!
こんにちは、自動ログインとリダイレクトはうまく機能していますが、なぜか通知メールが届きません。(ユーザーもエントリーセクションに表示されません)
自動ログインを無効にすると、再び機能します。
こんにちは、Kamiさん
メール通知の配信に関する問題が発生しているとのこと、申し訳ありません。この問題をWP Mail SMTPプラグインを使用して解決する方法を示す記事をご覧ください。
お役に立てれば幸いです 🙂
こんにちは、返信ありがとうございます。メール通知は正常に機能していますが、他の問題が残っています。フォームはユーザーのエントリーをまだ保存していません。何度もテストしましたが、自動ログインとリダイレクトはうまく機能しており、メール通知も同様ですが、なぜかフォームにユーザーのエントリーが保存されません。どうすればよいかアドバイスをお願いします。ありがとうございます。
こんにちは、Kamiさん
有料のWPFormsライセンスをお持ちの場合は、サポートチームにご連絡ください。問題についてさらに詳しく調査いたします。
ありがとうございます!🙂
こんにちは!「functions.phpファイルにコードスニペットを貼り付ける方法」で説明されている「スニペット」プラグインにこのコピーしたコードを追加しようとすると、エラーが発生します。
コード:
// 登録ページの転送
function my_registration_page_redirect()
{
global $pagenow;
if ( ( strtolower($pagenow) == ‘wp-login.php’) & ( strtolower( $_GET[‘action’]) == ‘register’ ) ) {
wp_redirect( home_url(‘https://date.intro-social.com/new-user/’));
}
}
add_filter( ‘init’, ‘my_registration_page_redirect’ );
エラーメッセージ:
慌てないでください
保存しようとしているコードスニペットは、6行目で致命的なエラーを引き起こしました:
構文エラー、予期しない「;」
スニペットの前のバージョンは変更されておらず、このサイトの他の部分は通常どおり機能しているはずです。
ブラウザの戻るボタンを使用して前のページに戻り、コードエラーを修正してみてください。必要であれば、このページを閉じて、行った変更を破棄することもできます。このサイトに変更は加えられません。
回避策を見つけました。グローバルリダイレクトマネージャーを使用することで、ログインをWordPressからWPFormsにリダイレクトすることができました。
タイラーさん、お知らせいただきありがとうございます!解決できたとのこと、承知いたしました。その他ご不明な点がございましたら、お気軽にお問い合わせください!
タイラーさん、サイトで一時的に小さな不具合が発生し、コードに特殊文字が挿入されてしまいました。その間にコードをテストされたのだと思います。
コードのフォーマットは修正されました。もう一度そのコードを試していただけますでしょうか。正常に動作するはずです。
ご迷惑をおかけして申し訳ありません!
「exit」を追加する必要があると思います。例:
if ( wp_redirect( home_url(‘/registration’) ) ) { exit; }
そうでない場合、マルチサイトでは依然としてwp-signup.phpページが表示されます。
ジョージさん、こんにちは!
フィードバックありがとうございます。チームに伝え、提案を検討させていただきます。
この件についてご連絡いただき、ありがとうございます 🙂
ユーザーログイン後、HOME(メインページ)にアクセスできなくなります。つまり、プロフィールページに永続的にリダイレクトされます。
他のすべてのサブページ(お問い合わせなど)にはアクセスできますが、ログイン後はHOMEのみアクセスできません。
ガボールさん、こんにちは。
ご迷惑をおかけして申し訳ありません!有料ライセンスをお持ちの場合は、サポートチームにご連絡ください。喜んでお手伝いさせていただきます。
ありがとう