Beschreibung
Die wpforms_frontend_output_before
Aktion wird ausgelöst, bevor ein Formular im Frontend der Website angezeigt wird, und zwar nur dann, wenn das Formular existiert und Felder enthält.
Parameter
- $form_data
- (Array) Verarbeitete Formulareinstellungen/Daten, die für die spätere Verwendung vorbereitet sind.
- $Formular
- (WP_Post) Formular-Posttyp-Objekt.
Quelle
wpforms/src/Frontend/Frontend.php
Mehr Informationen
Während wpforms_frontend_output_before
wird nur für gültige, nicht leere Formulare ausgelöst und zu einem frühen Zeitpunkt im Rendering-Prozess der Ausgabe ausgeführt.
In einigen Fällen kann die Aktion ausgelöst werden, ohne dass das Formular angezeigt wird, z. B. bei der Anzeige einer Bestätigungsmeldung oder beim Auslösen der wpforms_frontend_load
Filter.
Eine alternative Aktion, die in Betracht gezogen werden sollte, ist wpforms_frontend_output_after, da sie ähnlich funktioniert, aber erst nach der Anzeige des Formulars ausgelöst wird.
Beispiele
In unserem Beispielcodeausschnitt, den Sie unten sehen, wird zunächst geprüft, ob die Formular-ID gleich 5 ist. Wenn ja, wird ein Link zum Herunterladen des digitalen Katalogs ausgegeben.
Denken Sie nur daran, die Formular-ID von 5
mit der spezifischen Formular-ID übereinstimmen, für die Sie Ihren Code ausführen möchten. Wenn Sie diese Prüfung entfernen, wird der Code für alle Formulare ausgeführt.
/** * Output something before your form(s). * * @link https://wpforms.com/developers/wpforms_frontend_output_before/ * * @param array $form_data Form data and settings. * @param object $form Form post type object. */ function wpf_dev_frontend_output_before( $form_data, $form ) { // Optional, you can limit to specific forms. Below, we restrict output to // form #5. if ( absint( $form_data[ 'id' ] ) !== 5 ) { return; } // Run code or see the example echo statement below. _e( '<p>If you would like to download our digital catalog, <a href="http://yourlinkurl.com/" target="_blank">click here</a>.</p>', 'plugin-domain' ); } add_action( 'wpforms_frontend_output_before', 'wpf_dev_frontend_output_before', 10, 2 );