Der Zweck dieser Anleitung besteht darin, alle im Plugin verfügbaren Hooks und Filter aufzulisten und eine Schritt-für-Schritt-Anleitung zur Integration von Formularen oder zur Änderung der Funktionalität des Plugins bereitzustellen.
E-Mail-Verifizierung / SMS-Verifizierung / OTP-Verifizierung
FORMULAR-INTEGRATIONSLEITFADEN
SCHRITT 1: Legen Sie eine Sitzungsvariable fest
Legen Sie eine Sitzungsvariable fest, die angibt, dass die OTP-Verifizierung für Ihr Formular gestartet wurde.
$ _SESSION[''] = 'gestartet';
SCHRITT 2. FÜHRT DAS FORMULAR AJAX-AUFRUFE AUS?
Fügen Sie den folgenden Filter hinzu, um anzugeben, ob Ihr aktuelles Formular das Formular mithilfe eines AJAX-Aufrufs sendet. Die Funktion sollte prüfen, ob die OTP-Überprüfung für ein Formular gestartet wurde und ob dieses Formular einen AJAX-Aufruf ausführt. Sollte TRUE oder FALSE zurückgeben.
add_filter( 'is_ajax_form', Array($ This,'is_ajax_form_in_play'), 1,1); Öffentlichkeit Funktion is_ajax_form_in_play($isAjax){ // Überprüfen Sie, ob eine aktive Sitzung vorhanden ist. if (session_id() == '' || !isset($ _SESSION)) session_start(); // Wenn das aktuelle Formular einen AJAX-Aufruf zum Absenden des Formulars durchführt Rückkehr isset($ _SESSION[' ']) ? TRUE : $isAjax; //Wenn das aktuelle Formular einen AJAX-Aufruf zum Absenden des Formulars ausführt Rückkehr isset($ _SESSION[' ']) ? FALSCH : $isAjax; }
SCHRITT 3. CODE HINZUFÜGEN, UM DIE OTP-VERIFIZIERUNG ZU STARTEN
// Zur telefonischen/mobilen Verifizierung do_action ('mo_generate_otp',NULL,NULL,NULL, $phone_number,“phone“, NULL,NULL,NULL); // Zur E-Mail-Verifizierung do_action ('mo_generate_otp',NULL,$E-Mail,NULL, NULL,"Email", NULL,NULL,NULL);
SCHRITT 4. CODE HINZUFÜGEN, UM DAS OTP ZU VALIDIEREN (FÜR AJAX-FORMULARE)
Fügen Sie den folgenden Code hinzu einzige wenn Sie ein AJAX-Formular integrieren, um das vom Benutzer nach der Formularübermittlung eingegebene OTP zu validieren.
do_action('mo_validate_otp',NULL,$otpEnteredByUser);
SCHRITT 5. AKTION HINZUFÜGEN, UM EINE ERFOLGREICHE VALIDIERUNG ZU HANDHABEN
Verwenden Sie den folgenden Aktions-Hook, um zu bestimmen, was getan werden muss, nachdem der Benutzer das an sein Telefon oder seine E-Mail-Adresse gesendete OTP erfolgreich validiert hat.
add_action( 'otp_verification_successful',Array($ This,'handle_post_verification'),10,6); Funktion handle_post_verification($redirect_to,$user_login,$user_email, $passwort, $phone_number,$extra_data){ // Überprüfen Sie, ob eine aktive Sitzung vorhanden ist. if (session_id() == '' || !isset($ _SESSION)) session_start(); // zurückgeben, wenn die OTP-Überprüfung nicht gestartet wurde if(!isset($ _SESSION[' '])) zurück; //Geben Sie unten Ihren Code ein, um das übermittelte Formular zu verarbeiten . . . }
SCHRITT 6. AKTION HINZUFÜGEN, UM FEHLGESCHLAGENE VALIDIERUNG ZU BEHANDELN
Verwenden Sie den folgenden Aktions-Hook, um zu bestimmen, was getan werden muss, nachdem der Benutzer das an sein Telefon oder seine E-Mail-Adresse gesendete OTP nicht validiert hat. Entweder hat der Benutzer ein ungültiges OTP eingegeben oder es ist ein anderer Fehler aufgetreten.
add_action( 'otp_verification_failed',Array($ This,'handle_failed_verification'),10,3); Funktion handle_failed_verification($user_login,$user_email,$phone_number){ // Überprüfen Sie, ob eine aktive Sitzung vorhanden ist. if (session_id() == '' || !isset($ _SESSION)) session_start(); // zurückgeben, wenn die OTP-Überprüfung nicht gestartet wurde if(!isset($ _SESSION[' '])) zurück; // Diese Aktion wird aufgerufen, um die Sitzungsvariable zu löschen do_action('unset_session_variable'); // Geben Sie unten Ihren Code ein, um die fehlgeschlagene Validierung zu verarbeiten . . . }
SCHRITT 7. AKTION HINZUFÜGEN, UM SITZUNGSVARIABLEN NICHT ZU SETZEN
Verwenden Sie den folgenden Aktions-Hook, um die zuvor festgelegten Sitzungsvariablen zurückzusetzen. Dies ist wichtig, da dies vom Plugin an verschiedenen Stellen aufgerufen wird, um Sitzungsvariablen zurückzusetzen.
add_action( 'unset_session_variable', Array( $ This, 'unsetSessionVariables'), 1, 0); Öffentlichkeit Funktion unsetSessionVariables(){ ungesetzt($ _SESSION['mo_customer_validation_site_txID']); ungesetzt($ _SESSION[' ']); }
STECKERHAKEN UND FILTER
MASSNAHMEN
>> otp_verification_successful
/ ** * Dieser Hook wird ausgelöst, nachdem das vom Benutzer eingegebene OTP erfolgreich validiert wurde. * Verwenden Sie diesen Hook, um die Funktionalität zu ändern/zu entscheiden, nachdem der Benutzer die eingegeben hat * Korrektes OTP und das System hat es erfolgreich validiert. * @param $redirect_to die Weiterleitungs-URL nach der Registrierung eines neuen Benutzers * @param $user_login der vom Benutzer angegebene Benutzername * @param $user_email die vom Benutzer gepostete E-Mail * @param $password das vom Benutzer gepostete Passwort * @param $phone_number ist die vom Benutzer angegebene Telefonnummer * @param $extra_data alle zusätzlichen vom Benutzer geposteten Daten */ add_action( 'otp_verification_successful', Funktion ($redirect_to,$user_login,$user_email,$password,$phone_number,$extra_data){ // Ihr Code kommt hierher },10,6 );
>> otp_verification_failed
/** * Dieser Hook wird ausgelöst, nachdem das vom Benutzer eingegebene OTP erfolgreich validiert wurde. * Verwenden Sie diesen Hook, um die Funktionalität zu ändern/zu entscheiden, nachdem der Benutzer das * falsche OTP eingegeben und das System es erfolgreich validiert hat. * @param $user_login der vom Benutzer gepostete Benutzername * @param $user_email die vom Benutzer gepostete E-Mail * @param $phone_number die vom Benutzer gepostete Telefonnummer */ add_action( 'otp_verification_failed', Funktion handle_failed_verification($user_login,$user_email,$phone_number){ //Ihr Code kommt hierher },10,3 );
>> unset_session_variable
/ ** * Dieser Hook wird ausgelöst, um alle Sitzungsvariablen zurückzusetzen, sodass eine neue Formularübermittlung beginnt ein neuer Prozess der OTP-Überprüfung. * Verwenden Sie diesen Hook, um Ihren eigenen Code zu ändern oder hinzuzufügen, um die Benutzeraktivität * aus der Sitzung zu löschen. */ add_action( 'unset_session_variable', Funktion(){ // Ihr Code kommt hierher } );
>> mo_registration_show_message
/ ** * Der Hook wird ausgelöst, um ein generiertes Plugin anzuzeigen Nachricht an den Benutzer im * Admin-Dashboard. Verwenden Sie diesen Hook, um die Nachrichten zu ändern, die dem Benutzer im Admin-Dashboard * angezeigt werden. * @param $content bezieht sich auf den Nachrichteninhalt * @param $type bezieht sich auf den Nachrichtentyp */ add_action( 'mo_registration_show_message', Funktion($content,$type) { // Ihr Code hier },10,2 );
>> mo_generate_otp
/ ** * Dieser Hook wird ausgelöst, um das OTP zu starten Überprüfungsprozess. * Verwenden Sie diesen Hook, um den Prozess des Sendens von OTP an die Telefon- oder E-Mail-Adresse eines * Benutzers zu ändern. Sie können diesen Hook sogar aufrufen, um * eine OTP-Anfrage an das Telefon oder die E-Mail-Adresse eines Benutzers zu initiieren. * @param string $user_login Benutzername, der vom Benutzer übermittelt wurde * @param string $user_email Vom Benutzer übermittelte E-Mail-Adresse * @param string $errors Fehlervariable (wird derzeit nicht verwendet) * @param string $phone_number vom Benutzer übermittelte Telefonnummer * @param string $otp_type E-Mail- oder SMS-Bestätigung * @param string $password Vom Benutzer übermitteltes Passwort * @param string $extra_data ein Array, das alle vom Benutzer übermittelten zusätzlichen Daten enthält * @param bool $from_both gibt an, ob der Benutzer die Wahl zwischen E-Mail- und Telefonbestätigung hat */ add_action( 'mo_generate_otp', Funktion($user_login, $user_email, $errors, $phone_number = "", $otp_type="email",$password = '', $extra_data = null, $from_both = false){ // Ihr Code kommt hierher }, 1,8 );
>> mo_validate_otp
/ ** * Dieser Hook wird ausgelöst, um den Validierungsprozess der OTP-Verifizierung zu starten. * Verwenden Sie diesen Hook, um den Prozess von zu ändern Validierung des vom Benutzer * übermittelten OTP-Tokens. Sie können diese Aktion sogar initiieren, um ein vom Benutzer übermitteltes OTP* zu validieren. * @param string $requestVariable der OTP-Token-Schlüssel im Post-Parameter * @param string $otp_token OTP-Token übermittelt */ add_action( 'mo_validate_otp', Funktion($requestVariable,$otp_token){ // Ihr Code kommt hierher },1,8 );
>> mo_otp_verification_add_on_controller
/** * Dieser Hook wird ausgelöst, um Add-on-Einstellungen anzuzeigen. Wenn Sie ein benutzerdefiniertes Add-on erstellen möchten, verwenden Sie diesen Hook, um die von Ihrem Add-on * angezeigten Daten und Ansichten zu steuern. */ add_action(
'mo_otp_verification_add_on_controller',
Funktion(){ // Ihr Code kommt hierher } );
>> mo_otp_verification_delete_addon_options
/** * Dieser Hook wird ausgelöst, um Add-on-Einstellungen zu löschen. Wenn Sie ein benutzerdefiniertes Add-on erstellen möchten, verwenden Sie diesen Hook, um auszulösen, dass Ihre Add-on-Einstellungen * gelöscht werden, wenn das Plugin gelöscht wird. */ add_action(
'mo_otp_verification_delete_addon_options',
Funktion(){ // Ihr Code kommt hierher } );
FILTER
>> get_mo_option
/ **
* Dieser Filter wird auf jeden Wert angewendet, der aus der Datenbank stammt. * Nutzen Sie diesen Filter, um die aus der Datenbank kommenden Werte zu ändern.
* @param $key den Optionsnamen, um den Wert aus der Datenbank abzurufen * @param $prefix ist der Zeichenfolgenwert, der dem Optionsnamen vorangestellt werden soll, bevor Daten abgerufen werden
* @Rückkehr Schnur
*/
add_filter(
'get_mo_option',
Funktion($key,$prefix) {
// Ihr Code steht hier // gibt einen Wert aus der Datenbank zurück
},10,2
);
>> update_mo_option
/ ** * Dieser Filter wird auf jeden Wert angewendet, bevor er in die Datenbank eingegeben wird. * Nutzen Sie diesen Filter, um die Werte zu ändern, bevor sie in der * WordPress-Datenbank gespeichert werden. * @param $key den Optionsnamen, um den Wert aus der Datenbank abzurufen * @param $value der Wert, der in der Datenbank gespeichert werden soll * @param $prefix der Zeichenfolgenwert, der dem Optionsnamen vorangestellt werden soll, bevor Daten abgerufen werden * @Rückkehr Zeichenfolge */ add_filter( 'update_mo_option', Funktion($Schlüssel,$Wert,$Präfix) { // Ihr Code kommt hierher // einen Wert aus der Datenbank zurückgeben },10,3 );
>> mo_phone_dropdown_selector
/** * Ein Filter zum Ändern des Arrays von jQuery-Selektoren, um das Dropdown-Menü „Telefonfeld“ anzuzeigen. Nutzen Sie diesen Filter, um das Telefonfeld Ihres eigenen Formulars zu ändern oder als Auswahl für die Anzeige des Land-Dropdowns zu verwenden. * @param Array $selector Array von jQuery-Selektoren * @Rückkehr Array */ add_filter(
'mo_phone_dropdown_selector',
Funktion($selector){ // Ihr Code kommt hierher // gibt $selector zurück },10,1
);
>> mo_template_defaults
/** * Dieser Filter wird ausgelöst, bevor jede Standard-Popup-Vorlage im * Plugin gespeichert wird. Nutzen Sie diesen Filter, um die Standard-Popup-Vorlage * zu ändern, bevor sie in der Datenbank gespeichert werden. * @param Array $templates ein Schlüssel-Wert-Paar-Array, das aus allen HTML-Vorlagen für die Popups besteht * @Rückkehr Array */ add_filter(
'mo_template_defaults',
Funktion($templates) { // Ihr Code kommt hierhin // $templates zurückgeben } );
>> mo_template_build
/** * Dieser Filter wird ausgelöst, um jede Popup-Vorlage zu erstellen und die *-Tags durch HTML-Code zu ersetzen, bevor er den Benutzern auf dem Bildschirm angezeigt wird. * Nutzen Sie diesen Filter, um Ihre eigenen Inhalte zu ändern oder den Pop-ups hinzuzufügen. * Gibt den HTML-Inhalt für das jeweilige Popup zurück. * @param $template der zu ändernde Vorlageninhalt * @param $templateType der Vorlagentyp * @param $message die Nachricht, die im Popup angezeigt werden soll * @param $otp_type der aufgerufene OTP-Typ * @param $from_both hat der Benutzer die Möglichkeit, die S/W-E-Mail- und SMS-Verifizierung zu wählen * @Rückkehr String */ add_filter( 'mo_template_build', Funktion($template,$templateType,$message,$otp_type,$from_both){ // Ihr Code kommt hierhin // HTML-Inhalt zurückgeben },1,5 );
>> mo_blocked_email_domains
/ ** * Nutzen Sie diesen Filter, um die Liste der blockierten E-Mail-Domänen zu ändern. * Dieser Filter wird aufgerufen, bevor versucht wird, ein OTP an die E-Mail-Adresse des Benutzers zu senden, um zu überprüfen, ob die eingegebene E-Mail vom Administrator der Website auf die schwarze Liste * gesetzt wurde. * @param-Array $blocked_email_domains eine Liste blockierter E-Mail-Domänen * @return-Array */ add_filter( 'mo_blocked_email_domains', Funktion($blocked_email_domains) { // Ihr Code kommt hierher // $blocked_email_domains zurückgeben },10,1 );
>> mo_blocked_phones
/ ** * Nutzen Sie diesen Filter, um die Liste blockierter Telefonnummern zu ändern. * Dieser Filter wird aufgerufen, bevor versucht wird, ein OTP an den Benutzer zu senden * Telefon, um zu überprüfen, ob die Telefonnummer auf der schwarzen Liste steht * vom Administrator der Website. Stellen Sie sicher, dass die Telefonnummer im internationalen Format * vorliegt, z. B.: +1xxxxxxxxx * @param Array $blocked_phones eine Liste blockierter E-Mail-Domänen * @Rückkehr Array */ add_filter( 'mo_blocked_phones', Funktion($blocked_phones) { // Ihr Code kommt hierher // $blocked_phones zurückgeben },10,1 );
>> mo_filter_phone_before_api_call
/** * Dieser Filter wird aufgerufen, bevor die Telefonnummer an die * Gateway-API übergeben wird, um eine OTP-Nachricht an den Benutzer zu senden. Nutzen Sie diesen Filter, um Änderungen an der Telefonnummer vorzunehmen, bevor diese zur OTP-Zustellung an das SMS-Gateway gesendet wird. * @param String $phone die zu verarbeitende Telefonnummer * @Rückkehr Zeichenfolge * * @Notiz Dieser Filter ist nur für Ihren Gateway-Plan verfügbar */ add_filter(
'mo_filter_phone_before_api_call',
Funktion($phone_number){ // Ihr Code steht hier // $phone_number zurückgeben },10,1
);
>> anpassen_otp_url_before_api_call
/** * Dieser Filter wird aufgerufen, bevor der API-Aufruf erfolgt, um eine OTP-Nachricht * an den Benutzer zu senden. Nutzen Sie diesen Filter, um Änderungen an der URL * vorzunehmen, bevor diese für den API-Aufruf verwendet wird. * @param String $url die SMS-Gateway-URL * @param String $message die OTP-Nachricht, die an das Telefon des Benutzers gesendet werden soll * @param String $phone die zu verarbeitende Telefonnummer * @Rückkehr String * * @note Dieser Filter ist nur für Ihren Gateway-Plan verfügbar */ add_filter(
'customize_otp_url_before_api_call',
Funktion($url,$message,$phone){ // Ihr Code steht hier // gibt $url zurück },10,3
);
>> mo_process_phone
/** * Dieser Filter wird aufgerufen, um die Telefonnummer unmittelbar nach dem Absenden des Formulars * zu verarbeiten. Aktivieren Sie diesen Filter, wenn Sie die Telefonnummer ändern möchten, bevor sie vom Formular und dem Plugin verarbeitet wird. * @param String $phone die zu verarbeitende Telefonnummer * @Rückkehr String */ add_filter(
'mo_process_phone',
Funktion($phone){ // Ihr Code steht hier // $phone zurückgeben },10,1
);
>> is_ajax_form
/** * Dieser Filter wird aufgerufen, um zu prüfen, ob das aktuelle Formular, für das der Benutzer * die OTP-Verifizierung initiiert, einen AJAX-Aufruf zur Übermittlung * macht oder nicht. Nutzen Sie diesen Filter, um die Daten Ihres eigenen Formulars hinzuzufügen oder die Daten vorhandener Formulare während des OTP-Verifizierungsprozesses zu ändern. * @param bool $isAjax Wahrer oder falscher Wert * @Rückkehr bool */ add_filter(
'is_ajax_form',
Funktion($isAjax){ // Ihr Code kommt hierher // gibt $isAjax zurück },10,1
);
>> is_login_or_social_form
/** * Dieser Filter wird aufgerufen, um zu prüfen, ob das aktuelle Formular, für das der Benutzer * die OTP-Verifizierung initiiert, ein Login- oder Social-Login-Formular * ist oder nicht. Nutzen Sie diesen Filter, um die Daten Ihres eigenen Formulars hinzuzufügen oder die Daten vorhandener Formulare während des OTP-Verifizierungsprozesses zu ändern. * @param bool $isLoginOrSocialForm Wahrer oder falscher Wert * @Rückkehr bool */ add_filter(
'is_login_or_social_form',
Funktion($isLoginOrSocialForm){ // Ihr Code kommt hierher // gibt $isAjax zurück },10,1
);
>> mo_curl_page_url
/** * Dieser Filter wird aufgerufen, um die aktuelle Seiten-URL zu ändern. Dieser Filter * wird während des OTP-Verifizierungsprozesses aufgerufen, um die Seite * zu verfolgen, für die der Benutzer die OTP-Verifizierung initiiert hat. Der Benutzer wird zu dieser * Seite zurückgeleitet, wenn er auf der OTP-Popup-Seite auf die Schaltfläche „Zurück“ klickt. * Nutzen Sie diesen Filter, um die aktuelle Seiten-URL zu ändern. * @param String $pageURL die aktuelle Seiten-URL * @Rückkehr String */ add_filter(
'mo_curl_page_url',
Funktion($pageURL){ // Ihr Code kommt hierher // gibt $pageURL zurück },10,1
);