このガイドの目的は、プラグインで使用できるすべてのフックとフィルターをリストし、フォームを統合する方法やプラグインの機能を変更する方法について段階的なガイドを提供することです。
フォーム統合ガイド
ステップ 1. セッション変数を設定する
フォームの OTP 検証が開始されたことを示すセッション変数を設定します。
$ _SESSION,war[,war'',war],war ,war=,war ,war「始めました」;
ステップ 2. フォームは Ajax 呼び出しを行いますか?
現在のフォームが AJAX 呼び出しを使用してフォームを送信するかどうかを示す次のフィルターを追加します。 この関数は、フォームの otp 検証が開始されているかどうか、およびそのフォームが AJAX 呼び出しを行っているかどうかを確認する必要があります。 TRUE または FALSE を返す必要があります。
ADD_FILTER,war(,war ,war'is_ajax_form',war,,war 配列,war(,war$ this,war,,war「is_ajax_form_in_play」,war),,war ,war1,war,,war1,war); 公共,war ,warfunction,war is_ajax_form_in_play,war(,war$isAjax,war){ // アクティブなセッションがあるかどうかを確認します。 if,war ,war(,warセッションID,war(),war ,war==,war ,war'',war ,war||,war ,war!,warむーたん,war(,war$ _SESSION,war)),war セッション開始,war(); // 現在のフォームが AJAX 呼び出しを行ってフォームを送信する場合 return,war ,warむーたん,war(,war$ _SESSION,war[,war' ',war]),war ,war?,war TRUE ,war:,war $isAjax; //,war現在のフォームがフォームを送信するために AJAX 呼び出しを行う場合 return,war ,warむーたん,war(,war$ _SESSION,war[,war' ',war]),war ,war?,war 間違った情報 ,war:,war $isAjax; }
ステップ 3. コードを追加して OTP 検証を開始する
// 電話/モバイル認証用 do_action(「mo_generate_otp」,,warNULL,war,,warNULL,war,,warNULL,war、$phone_number,”電話”, ,warNULL,war,,warNULL,war,,warNULL,war); // メール認証用 do_action(「mo_generate_otp」,,warNULL,war,$メール,,warNULL,war, ,warNULL,war、"Eメール"、 ,warNULL,war,,warNULL,war,,warNULL,war);
ステップ 4. OTP を検証するコードを追加します (Ajax フォームの場合)
次のコードを追加します の AJAX フォームと統合して、フォーム送信後にユーザーが入力した OTP を検証する場合。
do_action,war(,war「mo_validate_otp」,war,,warNULL,war,,war$otpEnteredByUser,war);
ステップ 5. 検証の成功を処理するアクションを追加する
次のアクション フックを使用して、ユーザーが自分の電話または電子メールに送信された OTP を正常に検証した後に何をする必要があるかを決定します。
add_action,war(,war ,war「otp_verification_成功」,war,,war配列,war(,war$ this,war,,war「ハンドル_ポスト_検証」,war),,war10,war,,war6,war); function,war handle_post_verification,war(,war$redirect_to,war,,war$user_login,war,,war$user_email,war, $パスワード,war, ,war$電話番号,war,,war$extra_data){ // アクティブなセッションがあるかどうかを確認します。 if,war ,war(,warセッションID,war(),war ,war==,war ,war'',war ,war||,war ,war!,warむーたん,war(,war$ _SESSION,war)),war セッション開始,war(); // OTP 検証が開始されていない場合に戻ります if,war(,war!むーたん,war(,war$ _SESSION,war[,war' ',war])),war ,war戻り値; // 送信されたフォームを処理するには、以下にコードを入力してください . . . }
ステップ 6. 失敗した検証を処理するアクションを追加する
次のアクション フックを使用して、ユーザーが電話または電子メールに送信された OTP の検証に失敗した後に何をする必要があるかを決定します。 ユーザーが無効な OTP を入力したか、その他のエラーが発生しました。
add_action,war(,war ,war「otp_verification_failed」,war,,war配列,war(,war$ this,war,,war「失敗した検証の処理」,war),,war10,war,,war3,war); function,war ハンドル失敗検証,war(,war$user_login,war,,war$user_email,war,,war$電話番号,war){ // アクティブなセッションがあるかどうかを確認します。 if,war ,war(,warセッションID,war(),war ,war==,war ,war'',war ,war||,war ,war!,warむーたん,war(,war$ _SESSION,war)),war セッション開始,war(); // OTP 検証が開始されていない場合に戻ります if,war(!,warむーたん,war(,war$ _SESSION,war[,war' ',war])),war ,war戻り値; ,war// このアクションはセッション変数の設定を解除するために呼び出されます do_action,war(,war「セッション変数の設定解除」,war);,war // 失敗した検証を処理するには、以下のコードを入力してください . . . }
ステップ 7. セッション変数の設定を解除するアクションを追加する
次のアクション フックを使用して、以前に設定したセッション変数の設定を解除します。 これはセッション変数の設定を解除するためにプラグインによってさまざまな場所から呼び出されるため、これは重要です。
add_action,war(,war ,war「セッション変数の設定解除」,war,,war 配列,war(,war $ this,war,,war ,war'unsetSessionVariables',war),,war ,war1,war,,war ,war0,war); 公共,war ,warfunction,war unsetSessionVariables,war(){ unset,war(,war$ _SESSION,war[',warmo_custom_validation_site_txID,war']); unset,war(,war$ _SESSION,war[,war' ',war]); }
プラグインフックとフィルター
ACTIONS
>> otp_verification_成功
/ ** * このフックは、ユーザーが入力した OTP が正常に検証された後にトリガーされます。 * ユーザーが入力した後、このフックを使用して機能を変更/決定します。 * 正しい OTP であり、システムはそれを正常に検証しました。 * @私のお金 $redirect_to 新規ユーザー登録後のリダイレクト先 URL * @私のお金 $user_login ユーザーが投稿したユーザー名 * @私のお金 $user_email ユーザーが投稿した電子メール * @私のお金 $password ユーザーが投稿したパスワード * @私のお金 $phone_number ユーザーが投稿した電話番号 * @私のお金 $extra_data ユーザーが投稿した追加データ */ add_action( 「otp_verification_成功」, function ($redirect_to、$user_login、$user_email、$password、$phone_number、$extra_data){ // ここにコードが入ります },10,6 );
>> otp_verification_failed
/** * このフックは、ユーザーが入力した OTP が正常に検証された後にトリガーされます。 * ユーザーが間違った OTP を入力し、システムがそれを正常に検証した後、 * このフックを使用して機能を変更/決定します。 * @私のお金 $user_login ユーザーが投稿したユーザー名 * @私のお金 $user_email ユーザーが投稿した電子メール * @私のお金 $phone_number ユーザーが投稿した電話番号 */ add_action( 「otp_verification_failed」, function handle_failed_verification($user_login,$user_email,$phone_number){ // ここにコードが入ります },10,3 );
>> unset_session_variable
/ ** * このフックはすべてのセッション変数の設定を解除するためにトリガーされ、 * 新しいフォームの送信が開始されます。 OTP 検証の新たなプロセス。 * このフックを使用して、ユーザー アクティビティを * セッションからクリアするために独自のコードを変更または追加します。 */ add_action( 「セッション変数の設定解除」, 関数(){ // ここにコードが入ります } );
>> mo_registration_show_message
/ ** * フックがトリガーされて、生成されたプラグインが表示されます * 管理ダッシュボードでユーザーにメッセージを送信します。 このフックを使用して、管理ダッシュボードでユーザーに表示されるメッセージを * 変更します。 * @私のお金 $content はメッセージの内容を指します * @私のお金 $type はメッセージのタイプを指します */ add_action( 「mo_registration_show_message」, function($content,$type) { // ここにコードを記述します },10,2 );
>> mo_generate_otp
/ ** * このフックは OTP を開始するためにトリガーされます 検証プロセス。 * このフックを使用して、* ユーザーの電話アドレスまたは電子メール アドレスに OTP を送信するプロセスを変更します。 このフックを呼び出して、 * ユーザーの電話または自分の電子メールへの OTP リクエストを開始することもできます。 * @私のお金 string $user_login ユーザーが送信したユーザー名 * @私のお金 string $user_email ユーザーが送信した電子メール * @私のお金 文字列 $errors エラー変数 (現在は使用されていません) * @私のお金 string $phone_number ユーザーが送信した電話番号 * @私のお金 string $otp_type 電子メールまたはSMS認証 * @私のお金 string $password ユーザーが送信したパスワード * @私のお金 string $extra_data ユーザーが送信したすべての追加データを含む配列 * @私のお金 bool $from_both は、ユーザーが電子メール認証と電話認証のどちらかを選択できるかどうかを示します */ add_action( 「mo_generate_otp」, function($user_login、$user_email、$errors、$phone_number = ""、 $otp_type="email",$password = ''、$extra_data = null、$from_both = false){ // ここにコードが入ります }, 1,8 );
>> mo_validate_otp
/ ** * このフックは、OTP Verification 検証プロセスを開始するためにトリガーされます。 * このフックを使用してプロセスを変更します ユーザーによって送信された * OTP トークンを検証します。 このアクションを開始して、ユーザーが送信した OTP * を検証することもできます。 * @私のお金 string $requestVariable postパラメータのotpトークンキー * @私のお金 文字列 $otp_token 送信された OTP トークン */ add_action( 「mo_validate_otp」, function($requestVariable,$otp_token){ // ここにコードが入ります },1,8 );
>> mo_otp_verification_add_on_controller
/** * このフックは、アドオン設定を表示するためにトリガーされます。 * カスタム アドオンを構築したい場合は、このフックを使用して、 * アドオンによって表示されるデータとビューを制御します。 */ add_action(
「mo_otp_verification_add_on_controller」,
function(){ // ここにコードが入ります } );
>> mo_otp_verification_delete_addon_options
/** * このフックは、アドオン設定を削除するためにトリガーされます。 * カスタム アドオンを構築する場合は、このフックを使用して、 * プラグインが削除されたときにアドオン設定が削除されるようにトリガーします。 */ add_action(
「mo_otp_verification_delete_addon_options」,
function(){ // ここにコードが入ります } );
FILTERS
>> get_mo_option
/ **
* このフィルターは、データベースから取得される各値に適用されます。 * このフィルターをフックして、データベースからの値を変更します。
* @私のお金 $key データベースから値を取得するオプション名 * @私のお金 $prefix データをフェッチする前にoption_nameの先頭に付ける文字列値
* @戻る 文字列
*/
add_filter(
'get_mo_option',
function($キー、$プレフィックス){
// ここにコードが入ります // データベースから値を返します
},10,2
);
>> update_mo_option
/ ** * このフィルターは、データベースに格納される前に各値に適用されます。 * このフィルターをフックして、* WordPress データベースに保存される前に値を変更します。 * @私のお金 $key データベースから値を取得するオプション名 * @私のお金 $value データベースに保存される値 * @私のお金 $prefix データをフェッチする前に、option_name の前に付ける文字列値 * @戻る 弦 */ add_filter( 'update_mo_option', function($キー、$値、$プレフィックス){ // ここにコードが入ります // データベースから値を返す },10,3 );
>> mo_phone_dropdown_selector
/** * jQuery セレクターの配列を変更して * 電話フィールドのドロップダウンを表示するフィルター。 このフィルターにフックして変更するか、* 国を表示するセレクターとして独自のフォームの電話フィールドを * ドロップダウンに接続します。 * @私のお金 array $selector jQuery セレクターの配列 * @戻る 配列 */ add_filter(
「mo_phone_dropdown_selector」,
function($selector){ // ここにコードが入ります // return $selector },10,1
);
>> mo_template_defaults
/** * このフィルターは、デフォルトの各ポップアップ テンプレートが * プラグインに保存される前にトリガーされます。 このフィルターをフックして、データベースに保存される前に * デフォルトのポップアップ テンプレートを変更します。 * @私のお金 array $templates ポップアップのすべての HTML テンプレートで構成されるキーと値のペアの配列 * @戻る 配列 */ add_filter(
「mo_template_defaults」,
function($templates) { // ここにコードが入ります // return $templates } );
>> mo_template_build
/** * このフィルタは、各ポップアップ テンプレートを作成し、ユーザーに画面上に表示する前に * タグを HTML コードに置き換えるためにトリガーされます。 * このフィルターを使用して、独自のコンテンツを変更したり、ポップアップに追加したりできます。 * 特定のポップアップの HTML コンテンツを返します。 * @私のお金 $template 変更するテンプレートの内容 * @私のお金 $templateType テンプレートのタイプ * @私のお金 $message ポップアップに表示されるメッセージ * @私のお金 $otp_type 呼び出される otp タイプ * @私のお金 $from_both ユーザーには電子メールと SMS 認証の両方を選択するオプションがありますか * @戻る 文字列 */add_filter( 「mo_template_build」, function($template,$templateType,$message,$otp_type,$from_both){ // ここにコードが入ります // HTML コンテンツを返します },1,5 );
>> mo_blocked_email_domains
/ ** * このフィルターをフックして、ブロックされた電子メール ドメインのリストを変更します。 * このフィルターは、ユーザーの * メール アドレスに OTP を送信しようとする前に呼び出され、入力されたメールが * サイト管理者によってブラックリストに登録されているかどうかを確認します。 * @param array $blocked_email_domains ブロックされた電子メール ドメインのリスト * @return 配列 */ add_filter( 「mo_blocked_email_domains」, function($blocked_email_domains) { // ここにコードが入ります // $blocked_email_domains を返します },10,1 );
>> mo_blocked_phones
/ ** * このフィルターをフックして、ブロックされた電話番号リストを変更します。 * このフィルタは、OTP をユーザーのアドレスに送信しようとする前に呼び出されます。 * 電話番号がブラックリストに登録されているかどうかを確認するための電話 ※サイト管理者によるもの。 電話番号が * 国際形式であることを確認してください (例: +1xxxxxxxxx) * @私のお金 配列 $blocked_phones ブロックされた電子メール ドメインのリスト * @戻る 配列 */ add_filter( 「mo_blocked_phones」, function($blocked_phones) { // ここにコードが入ります // $blocked_phones を返します },10,1 );
>> mo_filter_phone_before_api_call
/** * このフィルターは、ユーザーに OTP メッセージを送信するために * 電話番号がゲートウェイ API に渡される前に呼び出されます。 このフィルタを * フックして、電話番号が OTP 配信のために SMS ゲートウェイに送信される前に * 変更を加えます。 * @私のお金 文字列 $phone 処理される電話番号 * @戻る 弦 * * @注記 このフィルターはゲートウェイ プランでのみ使用できます */ add_filter(
「mo_filter_phone_before_api_call」,
function($phone_number){ // ここにコードが入ります // return $phone_number },10,1
);
>> カスタマイズ_otp_url_before_api_call
/** * このフィルターは、API 呼び出しが行われて * ユーザーに OTP メッセージを送信する前に呼び出されます。 API 呼び出しに使用される前に、このフィルターにフックして * URL に変更を加えます。 * @私のお金 文字列 $url SMS ゲートウェイ URL * @私のお金 文字列 $message ユーザーの電話に送信される OTP メッセージ * @私のお金 文字列 $phone 処理される電話番号 * @戻る String * * @note このフィルターはゲートウェイ プランでのみ使用できます */ add_filter(
「customize_otp_url_before_api_call」,
function($url,$message,$phone){ // ここにコードが入ります // return $url },10,3
);
>> mo_process_phone
/** * このフィルタは、フォーム * 送信直後に電話番号を処理するために呼び出されます。 フォームとプラグインによって処理される前に電話番号を変更する場合は、このフィルターをフックします。 * @私のお金 文字列 $phone 処理される電話番号 * @戻る 文字列 */add_filter(
「mo_process_phone」,
function($phone){ // ここにコードが入ります // return $phone },10,1
);
>> is_ajax_form
/** * このフィルターは、ユーザーが * OTP 検証を開始している現在のフォームが送信のために AJAX 呼び出しを行っているかどうかを * チェックするために呼び出されます。 このフィルターをフックして、OTP 検証プロセス中に独自のフォームのデータを追加するか、 * 既存のフォームのデータを変更します。 * @私のお金 bool $isAjax True または False 値 * @戻る bool */ add_filter(
'is_ajax_form',
function($isAjax){ // ここにコードが入ります // return $isAjax },10,1
);
>> is_login_or_social_form
/** * このフィルターは、ユーザーが * OTP 検証を開始している現在のフォームがログイン フォームまたはソーシャル ログイン フォーム * であるかどうかをチェックするために呼び出されます。 このフィルターをフックして、OTP 検証プロセス中に独自のフォームのデータを追加するか、 * 既存のフォームのデータを変更します。 * @私のお金 bool $isLoginOrSocialForm True または False 値 * @戻る bool */ add_filter(
「is_login_or_social_form」,
function($isLoginOrSocialForm){ // ここにコードが入ります // return $isAjax },10,1
);
>> mo_curl_page_url
/** * このフィルタは、現在のページの URL を変更するために呼び出されます。 このフィルタは * OTP 検証プロセス中に呼び出され、ユーザーが OTP 検証を開始したページ * を追跡します。 ユーザーが OTP ポップアップ ページの [戻る] ボタンをクリックすると、この * ページにリダイレクトされます。 * このフィルターにフックすると、現在のページの URL が変更されます。 * @私のお金 文字列 $pageURL 現在のページの URL * @戻る 文字列 */add_filter(
'mo_curl_page_url',
function($pageURL){ // ここにコードが入ります // return $pageURL },10,1
);