Beschreibung

Die wpforms_frontend_output wird ausgelöst, bevor ein Formular auf dem Frontend der Website und innerhalb des HTML-Formular-Containers angezeigt wird. Es wird nur ausgelöst, 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-Post-Typ.

Quelle

wpforms/src/Frontend/Frontend.php

Mehr Informationen

Während wpforms_frontend_output wird nur bei gültigen, nicht leeren Formularen ausgelöst und zu einem frühen Zeitpunkt im Rendering-Prozess der Ausgabe ausgeführt. Allerdings wird das, was Sie mit dieser Aktion platzieren, innerhalb der HTML-Datei angezeigt form Container.

Eine alternative Aktion, die in Betracht gezogen werden sollte, ist wpforms_frontend_output_before, da sie ähnlich funktioniert, nur dass sie außerhalb des HTML-Formular-Containers stattfindet.

Beispiele

In unserem Beispiel haben wir ein Formular, das am Weihnachtstag abgeschaltet wird. Wir möchten eine Meldung über dem Formular anzeigen, die das heutige Datum abzüglich des Weihnachtstages berechnet und dem Benutzer anzeigt, wie viele Tage er noch hat, um das Formular einzureichen.

/**
 * 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 );

Referenzartikel

So zeigen Sie die Anzahl der verbleibenden Eintragslimits an