Traitement des balises intelligentes dans les options des champs à cocher

Souhaitez-vous traiter les étiquettes intelligentes dans les options du champ à cocher ? Par défaut, les Smart Tags ne sont pas traités s'ils sont placés dans les options individuelles du champ Checkbox. Cependant, en utilisant un petit extrait de code PHP, vous pouvez facilement l'autoriser.

Dans ce tutoriel, nous allons vous expliquer comment traiter les Smart Tags dans les options des champs de type Checkbox.


Les Smart Tags sont un excellent moyen d'extraire et d'afficher des données de manière dynamique dans votre formulaire. WPForms vous permet également de créer des Smart Tags personnalisés qui peuvent être utilisés pour étendre cette fonctionnalité encore plus loin.

Création du formulaire

Pour ce tutoriel, nous allons ajouter quelques champs à notre formulaire d'adhésion qui confirmeront le nom complet ou le nom d'affichage de la personne qui remplit le formulaire. Ces champs seront tirés du profil WordPress ainsi qu'un champ de formulaire pour Comment avez-vous entendu parler de cette offre ? qui sera également tiré d'une balise intelligente.

Si vous avez besoin d'aide pour créer un formulaire, veuillez consulter ce guide utile.

Utilisation de balises intelligentes dans les champs à cocher

Nous pouvons utiliser les balises intelligentes, nous allons donc saisir {user_full_name} dans l'étiquette de la première option et {user_display} pour la deuxième option.

Ajoutez des balises intelligentes que vous choisissez pour l'étiquette de la case à cocher pour le nom d'affichage et le nom complet.

Nous ajouterons également une troisième option qui, lorsqu'elle sera sélectionnée, affichera de manière conditionnelle un champ de formulaire à ligne de texte unique permettant au visiteur de saisir le nom correct si les enregistrements du profil sont incorrects.

Ensuite, nous ajouterons une autre case à cocher pour demander au visiteur de remplir le formulaire de demande d'information. Comment avez-vous entendu parler de cette offre ? qui comprendra le {url_referer} Smart Tag pour essayer d'extraire l'URL à partir de laquelle le visiteur vient d'être référencé.

Ajout de la balise intelligente "URL de référence" aux choix de champs de type "case à cocher".

Ajout de l'extrait de code

Pour traiter toutes les balises intelligentes incluses dans les choix du champ Checkbox, vous devez copier cet extrait de code sur votre site.

Si vous avez besoin d'aide pour ajouter des extraits de code, veuillez consulter ce tutoriel.

Note : Ce snippet n'extraira pas les valeurs saisies par l'utilisateur (par exemple, {field_id="3"}) pour remplir d'autres champs du formulaire.

/**
 * Using Smart Tags in Checkboxes.
 *
 * @link   https://wpforms.com/developers/process-smart-tags-in-checkbox-labels/
 */
 
function wpf_dev_checkbox_choices_process_smarttags( $field, $deprecated, $form_data ) {
 
    foreach ( $field[ 'choices' ] as $key => $choice ) {
 
        if ( ! empty( $choice[ 'label' ] ) ) {
 
            $field[ 'choices' ][ $key ][ 'label' ] = apply_filters( 'wpforms_process_smart_tags', $choice[ 'label' ], $form_data );
 
        }
 
    }
 
    return $field;
}
add_filter( 'wpforms_checkbox_field_display', 'wpf_dev_checkbox_choices_process_smarttags', 10, 3 );

Le code ci-dessus indique aux options des cases à cocher de traiter le filtre pour les étiquettes intelligentes avec apply_filters('wpforms_process_smart_tags',. C'est ce qui vous permet d'utiliser des étiquettes intelligentes dans le champ des cases à cocher.

Prévisualisation de la valeur du champ Checkbox Smart Tag dans le frontend.

Questions fréquemment posées

Voici les réponses aux questions les plus fréquentes concernant l'utilisation des étiquettes intelligentes dans les champs de type case à cocher.

Q : Puis-je également utiliser cette méthode pour les champs de type "Dropdown" et "Multiple Choice" ?

R : Absolument ! Utilisez ce snippet pour traiter les Smart Tags à l'intérieur des étiquettes des champs des formulaires de type Dropdown et Multiple Choice.

/**
 * Using Smart Tags in Multiple Choice and Dropdown choices.
 *
 * @link   https://wpforms.com/developers/process-smart-tags-in-checkbox-labels/
 */
 
function wpf_dev_select_radio_choices_process_smarttags( $field, $deprecated, $form_data ) {
     
    foreach ( $field[ 'choices' ] as $key => $choice ) {
         
        if ( ! empty( $choice[ 'label' ] ) ) {
             
            $label = apply_filters( 'wpforms_process_smart_tags', $choice[ 'label' ], $form_data );
             
            if ( ! empty( $label ) ) {
                 
                $field['choices'][ $key ][ 'label' ] = $label;
             
            } else {
                
                // Remove empty option.
                unset( $field['choices'][ $key ] );
            }
        }
    }
  
    return $field;
}
  
add_filter( 'wpforms_radio_field_display', 'wpf_dev_select_radio_choices_process_smarttags', 10, 3 );
add_filter( 'wpforms_select_field_display', 'wpf_dev_select_radio_choices_process_smarttags', 10, 3 );

Voilà, c'est fait ! Vous savez maintenant comment utiliser les balises intelligentes dans les étiquettes des champs de type case à cocher.

Ensuite, vous souhaitez également utiliser les Smart Tags dans le champ de formulaire HTML / Code? Consultez notre tutoriel sur le traitement des Smart Tags dans les champs HTML.

Références du filtre :