KI-Zusammenfassung
Beschreibung
wpforms_frontend_output wird ausgelöst, bevor ein Formular auf der Frontend-Seite der Website und innerhalb des HTML-Formularcontainers angezeigt wird. Es wird nur ausgelöst, 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.
Quelle
wpforms/src/Frontend/Frontend.php
Weitere Informationen
Während wpforms_frontend_output nur für gültige, nicht leere Formulare ausgelöst wird, wird es früh im Prozess der Ausgabe-Darstellung ausgeführt. Was Sie jedoch mit dieser Aktion platzieren, wird innerhalb des HTML-form-Containers angezeigt.
Eine alternative Aktion, die Sie in Betracht ziehen können, ist wpforms_frontend_output_before, da sie ähnlich funktioniert, außer dass sie außerhalb des HTML-Formularcontainers liegt.
Beispiele
In unserem Beispiel haben wir ein Formular, das am Weihnachtstag abgeschaltet wird. Wir möchten eine Nachricht oberhalb des Formulars anzeigen, die das heutige Datum abzüglich des Weihnachtstages berechnet und dem Benutzer die Anzahl der verbleibenden Tage für die Einreichung des Formulars anzeigt.
/**
* Output something before your form(s).
*
* @link https://wpforms.com/developers/wpforms_frontend_output/
*
* @param array $form_data Form data and settings.
* @param object $form Form post type.
*/
function wpf_dev_frontend_output( $form_data, $form ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #898.
if ( absint( $form_data[ 'id' ] ) !== 898 ) {
return;
}
// Set the PHP timezone
date_default_timezone_set( 'America/New_York' );
// Set the variable to Christmas day
$christmasDay = strtotime( 'December 25' );
// Get the current date
$time = time();
// Calculate how many days from today's date to Christmas day
$days = ceil(($christmasDay - $time)/60/60/24);
echo '<div class="countdown_wrapper"> <p>' . __( 'This contest closes on <strong>12/25/2024</strong>, enter now! There are only <strong>', 'text-domain' ) . $days . __( '</strong> days left to enter!', 'text-domain' ) . '</p></div>';
}
add_action( 'wpforms_frontend_output', 'wpf_dev_frontend_output', 10, 2 );