情報の不完全なユーザーにプロフィール完成を促す
- English
- 日本語
Gianism 4.2から不完全なプロフィールのユーザーに情報入力を促すことができます。「不完全なプロフィール」はデフォルトで次の2つです。
- メールアドレス:Facebookは電話番号だけでも使えますし、Instagramはメールアドレスを提供しません。メールアドレスを取得できないSNSでもGianismは example@pseudo.facebook.com のような仮のメールアドレスを付与することで登録することができます。
- パスワード: SNS連携したばかりだと、パスワードは自動生成されたものです。ユーザーがSNS連携を続けている限りは問題ありませんが、できれば自分で設定してもらいたいものです。
上記がクリアされていない場合、「不完全なメールアドレス」となります。
プロフィール完成の導線
ユーザーへの通知は3種類あります。基本的にはログインしているユーザーにだけ表示されます。
- 管理画面の「プロフィール」で通知を出す。これはデフォルトの動作です。
- 公開画面のすべてで「プロフィールが不完全なので入力してください」とプロフィール画面へのリンクを表示する。全ページに出ますので、ややアグレッシブな通知です。
- 強制的にプロフィールページへリダイレクトする。リダイレクト先は設定することができます。
リダイレクト先はWooCommerceの場合はMy Accountページを取得します。その他のプラグインについては、該当するパスを入力するようにしてください。
設定ミスがあるとリダイレクトループに陥ってしまう可能性がありますので、注意してください。
完全なプロフィールの判定条件をカスタム
デフォルトではメールアドレスとパスワードのチェックしか行いませんが、独自の情報を追加することができます。たとえば、なんらかのプラグインと共に利用しており、「氏名が必須」というケースを考えてみましょう。
この場合、ユーザープロフィールの完全性をチェックするフック gianism_profile_error
を利用します。
/**
* Check error
*
* @param WP_Error $error
* @param WP_User $user
*/
add_filter( 'gianism_profile_error', function( $error, $user ) {
if ( ! $user->first_name || ! $user->last_name ) {
$error->add( 'invalid_user_name', '氏名を必ず入力してください。' );
}
return $error;
}, 10, 2 );
ここで返す $error
が空っぽの場合は有効なユーザーであると判定されます。