新規ユーザー登録後に何かする方法【BuddyPress】

2021年2月2日
この記事は最終更新から3年以上経過しています。内容が古くなっている可能性があります。

前回につづき、BuddyPressのカスタマイズについての記事です。

今回は、BuddyPress会員登録後(新規ユーザー作成後)に特定の表示アクションをするように会員登録画面のテンプレートをカスタマイズしてみたいと思います。

会員登録中のテンプレートはregister.php

会員登録のテンプレートは、buddypress/members/register.phpです。これを編集します。

会員登録中の画面表示は「フォーム入力画面」もフォーム送信後の「確認メールからログインしてください」みたいな内容の画面もregister.phpが担っています。

bp_get_current_signup_step

同じファイルで幾つかの違う表示をしているわけですが、register.php内で独自関数の”bp_get_current_signup_step”を使用して、会員登録の現在のステップを判定して、コンテンツを出し分けているようです。

ユーザー登録後の「確認メールを送りました」的な画面で、ステップは”completed-confirmation”となっています。

という事で、この”completed-confirmation”というステップを判定して、この段階の表示に追加をしたり、この段階でJSを実行したりと、あれこれ出来ます。

サンプルコード

具体的には、下のサンプルコードのように記述すると良いと思います。register.php内に記述します。

何かを表示するなど処理を加えたい場合

表示したい箇所に下のように追記します。

JSで何かしたい場合は

みたいな感じですね。(中身は適当ですが。。)

最後に

プラグインのファイルなんぞ、読み込み出すとキリが無いので、あまり深追いしていません。もっとスタンダードな方法がある!等の突っ込みは受け付けておりません。。

ちょっと調べてみると、bp-legacyだったりbp-nouveauだったりで、register.phpの記述内容がかなり違います。結構フックが用意してあるのですが、これもそれぞれ違うようです。上の方法はこの辺の違いには左右されなさそうなので、BuddyPressテーマ?(テンプレート?)が違っても使用できそうです。

ちなみに今回の記事の『ユーザー登録後』は、新規ユーザーの作成が終わった段階です。登録されたユーザーが”Activate”されたタイミングではありません。念のため。

関連のある記事

友達ユーザーのID・フォロー中ユーザーのIDを取得する方法【BuddyPress】

友達ユーザーのID・フォロー中ユーザーのIDを取得する方法【BuddyPress】

記事を読む

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

目次へ