Attention !

Cet article contient du code PHP et est destiné aux développeurs. Nous fournissons ce code à titre de courtoisie, mais nous n'offrons pas de support pour les personnalisations de code ou le développement tiers.

Pour obtenir de l'aide supplémentaire, veuillez consulter le tutoriel de WPBeginner sur l'ajout de code personnalisé.

Ignorer

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

Articles de référence

Comment afficher le nombre restant de limites d'entrées