KI-Zusammenfassung
Beschreibung
Die wpforms_frontend_output_before Aktion wird ausgelöst, bevor ein Formular auf der Frontend-Seite der Website angezeigt wird, nur wenn das Formular existiert und Felder enthält.
Parameter
- $form_data
- (array) Verarbeitete Formulareinstellungen/Daten, die zur späteren Verwendung vorbereitet sind.
- $form
- (WP_Post) Formular-Post-Typ-Objekt.
Quelle
wpforms/src/Frontend/Frontend.php
Weitere Informationen
Während wpforms_frontend_output_before nur für gültige, nicht leere Formulare ausgelöst wird, wird sie früh im Prozess der Ausgabe-Renderung ausgeführt.
In einigen Fällen kann die Aktion ausgelöst werden, das Formular jedoch nicht angezeigt werden, z. B. beim Anzeigen einer Formularbestätigungsnachricht oder beim Auslösen des wpforms_frontend_load Filters.
Eine alternative Aktion, die Sie in Betracht ziehen können, ist wpforms_frontend_output_after, da sie ähnlich funktioniert, außer dass sie erst nach der Anzeige des Formulars ausgelöst wird.
Beispiele
In unserem unten gezeigten Beispielcode-Snippet prüfen wir zuerst, ob die Formular-ID gleich 5 ist. Wenn ja, geben wir einen Link zum Herunterladen des digitalen Katalogs aus.
Denken Sie daran, die Formular-ID von 5 zu ändern, um sie an die spezifische Formular-ID anzupassen, für die Sie Ihren Code ausführen möchten. Wenn Sie diese Prüfung entfernen, würde sie für alle Formulare ausgeführt werden.
/**
* 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 );