Riassunto AI
Descrizione
wpforms_frontend_output si attiva prima che un modulo venga visualizzato nel frontend del sito e all'interno del contenitore del modulo HTML. Si attiverà solo se il modulo esiste e contiene campi.
Parametri
- $form_data
- (array) Impostazioni/dati del modulo elaborati, preparati per l'uso successivo.
- $form
- (WP_Post) Tipo di post del modulo.
Origine
wpforms/src/Frontend/Frontend.php
Maggiori Informazioni
Mentre wpforms_frontend_output si attiva solo per moduli validi e non vuoti, viene eseguito all'inizio del processo di rendering dell'output. Tuttavia, ciò che inserisci con questa azione verrà visualizzato all'interno del contenitore del modulo HTML form.
Un'azione alternativa da considerare è wpforms_frontend_output_before, poiché funziona in modo simile, tranne per il fatto che sarà all'esterno del contenitore del modulo HTML.
Esempi
Nel nostro esempio, abbiamo un modulo che verrà disattivato il giorno di Natale. Vogliamo visualizzare un messaggio sopra il modulo che calcoli la data odierna meno il giorno di Natale e fornisca all'utente un conteggio di quanti giorni rimangono per inviare il modulo.
/**
* 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 );