web-dev-qa-db-ja.com

ユーザー登録プロセスにフックする方法

WordPressに新しいユーザーを追加する前に、ユーザー登録フォームにフィールドを追加して検証する必要があります。

add_filter('register_form', 'my_function');経由で登録フォームにフックする方法を知っています

しかし、ユーザーが登録する前にどのようにして登録プロセスに入るのですか?だから私はadd_action('user_register','my_other_function');は欲しくありません。

2
user11948

あなたはregistration_errors filterのためにあなた自身のフックを作成する必要があります:

add_filter( 'registration_errors', 'wpse8170_registration_errors', 10, 3 );
function wpse8170_registration_errors( $errors, $sanitized_user_login, $user_email ) {
    if ( /* something happens */ ) {
        $errors->add( 'myexception_code', 'This is my message' );
    }

    return $errors;
}
4
Eugene Manuilov

WordPressコーデックスを見てみましょう: 登録フォームのカスタマイズ

テーマとプラグインの開発者は、フックを使ってWordPressの組み込みユーザー登録ページをカスタマイズできます。

登録フォームをカスタマイズするには、次の3つのフックを利用します。

  1. register_form
    新しいHTMLフォーム要素のレンダリングを許可します。
  2. registration_errors
    フォーム登録欄の検証を行います。
  3. user_register
    カスタムフォームデータを保存します。
4
Nicolai