Description
Le wpforms_frontend_output_before
se déclenche avant l'affichage d'un formulaire sur le site, uniquement si le formulaire existe et contient des champs.
Paramètres
- $form_data
- (tableau) Paramètres/données de formulaire traités, préparés pour être utilisés ultérieurement.
- Formulaire
- (WP_Post) Objet de type post formulaire.
Source
wpforms/src/Frontend/Frontend.php
Plus d'informations
Tandis que wpforms_frontend_output_before
ne se déclenche que pour les formulaires non vides valides, il s'exécute au début du processus de rendu de la sortie.
Dans certains cas, l'action peut se déclencher sans que le formulaire ne s'affiche, par exemple en affichant un message de confirmation du formulaire ou en déclenchant la fonction wpforms_frontend_load
filtre.
Une autre action à envisager est wpforms_frontend_output_after, qui fonctionne de manière similaire, mais qui ne se déclenche qu'après l' affichage du formulaire.
Exemples
Dans notre exemple de code, que vous verrez ci-dessous, nous allons d'abord vérifier si l'ID du formulaire est égal à 5. Si c'est le cas, nous enverrons un lien pour télécharger le catalogue numérique.
N'oubliez pas de changer l'ID du formulaire de 5
pour qu'il corresponde à l'identifiant spécifique du formulaire sur lequel vous souhaitez exécuter votre code. Si vous supprimez cette vérification, le code sera exécuté pour tous les formulaires.
/** * Output something before your form(s). * * @link https://wpforms.com/developers/wpforms_frontend_output_before/ * * @param array $form_data Form data and settings. * @param object $form Form post type object. */ function wpf_dev_frontend_output_before( $form_data, $form ) { // Optional, you can limit to specific forms. Below, we restrict output to // form #5. if ( absint( $form_data[ 'id' ] ) !== 5 ) { return; } // Run code or see the example echo statement below. _e( '<p>If you would like to download our digital catalog, <a href="http://yourlinkurl.com/" target="_blank">click here</a>.</p>', 'plugin-domain' ); } add_action( 'wpforms_frontend_output_before', 'wpf_dev_frontend_output_before', 10, 2 );