Résumé IA
Description
wpforms_frontend_output se déclenche avant qu'un formulaire ne soit affiché sur le frontend du site et à l'intérieur du conteneur du formulaire HTML. Il ne se déclenchera que si le formulaire existe et contient des champs.
Paramètres
- $form_data
- (array) Paramètres/données du formulaire traités, préparés pour une utilisation ultérieure.
- $form
- (WP_Post) Type de publication du formulaire.
Source
wpforms/src/Frontend/Frontend.php
Plus d'informations
Alors que wpforms_frontend_output ne se déclenche que pour les formulaires valides et non vides, il s'exécute tôt dans le processus de rendu de la sortie. Cependant, ce que vous placez avec cette action sera affiché à l'intérieur du conteneur form HTML.
Une action alternative à considérer est wpforms_frontend_output_before, car elle fonctionne de manière similaire, sauf qu'elle sera à l'extérieur du conteneur du formulaire HTML.
Exemples
Dans notre exemple, nous avons un formulaire qui sera désactivé le jour de Noël. Nous voulons afficher un message au-dessus du formulaire qui calculera la date d'aujourd'hui moins le jour de Noël et donnera à l'utilisateur un compte des jours restants pour soumettre le formulaire.
/**
* 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 );