Achtung!

Dieser Artikel enthält PHP-Code und richtet sich an Entwickler. Wir stellen diesen Code als Service zur Verfügung, bieten jedoch keine Unterstützung für Codeanpassungen oder die Entwicklung durch Dritte.

Für zusätzliche Hilfe siehe das Tutorial von WPBeginner zum Hinzufügen von benutzerdefiniertem Code.

Schließen

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

Referenzartikel

So zeigen Sie die Anzahl der verbleibenden Einträge an