Wie führe ich ein serverseitiges Skript aus, wenn Kontaktformular 7 eingereicht wird?

Ich bin neu in WordPress und ich versuche eine einfache Form zu erstellen. Ich benutze derzeit das Kontaktformular 7 und bis jetzt finde ich es nett. Aber jetzt versuche ich einen serverseitigen Code auszuführen, wenn das Formular gesendet wird. Im Grunde will ich nur, dass die Post-Variablen aus der from-Datei kommen, wenn sie übergeben werden, damit ich die Formulardaten im Skript verwenden kann. Ich möchte weiterhin die E-Mail-function, die beim Übermitteln des Formulars an die E-Mail-Adresse gesendet wird.

Gibt es eine einfache und effizientere Möglichkeit, es zu tun, ohne dass ich etwas im Code ändern muss?

Solutions Collecting From Web of "Wie führe ich ein serverseitiges Skript aus, wenn Kontaktformular 7 eingereicht wird?"

Sie benötigen den wpcf7_before_send_mail Hook, der nach dem erfolgreichen Senden der E-Mail ausgetriggers wird. Fügen Sie das einfach in Ihrer functions.php .

 add_action( 'wpcf7_before_send_mail', 'process_contact_form_data' ); function process_contact_form_data( $contact_data ){ var_dump($contact_data->posted_data); $name = $contact_data->posted_data["your-name"]; $email = $contact_data->posted_data["your-email"]; echo $name ; echo $email; } 

Sie können auf Felder nach ihrem Namen in $contact_data->posted_data array $contact_data->posted_data .


Ja. Sie können zu einer anderen Seite entweder mit Javascript oder von oben function redirect. Mit Javascript müssen Sie folgende Zeile in Zusätzliche Einstellungen des von Ihnen erstellten Kontaktformulars hinzufügen.

 on_sent_ok: "location = 'http://youdomain.com/thankyou.php';" 

Dies erlaubt Ihnen jedoch nicht, vom Formular gesendete Werte zu verwenden. So gehen Sie für alternative Methode.

Redirect zu danke Seite von oben genannten function. Stellen Sie jedoch vor der Weiterleitung die Informationen, die Sie auf Ihrer Seite zeigen möchten, in SESSION- Variablen ein (z. B. Name, E-Mail, Betrefffelder aus dem Formular). Dann auf danke Seite, erhalten Sie diese Werte und zeigen Sie sie an. Später können Sie Sitzungsvariablen löschen und jedes Mal prüfen, ob diese bestimmten Variablen gesetzt sind. Dies gibt Ihnen die Kontrolle über das Drücken der URL direkt vom Browser und zeigt die entsprechende Meldung an, dass die Seite nicht direkt erreichbar ist.