Résumé IA
Introduction
Souhaitez-vous traiter les balises intelligentes dans les étiquettes de champ de vos formulaires ? Avec un petit extrait de code PHP, cela peut être facilement réalisé. Dans ce tutoriel, nous vous montrerons comment traiter les balises intelligentes dans les étiquettes de champ de votre formulaire.
L'utilisation des balises intelligentes est un outil très utile pour extraire et afficher dynamiquement des données spécifiques dans votre formulaire.
Par défaut, les balises intelligentes ne seront pas traitées si elles sont placées dans des étiquettes de champ de votre formulaire.
Cependant, cette fonctionnalité peut être utile si, par exemple, vous souhaitez afficher le nom d'un utilisateur connecté, l'URL de votre page ou même afficher d'autres détails à l'aide de balises intelligentes personnalisées.
Dans le cadre de ce tutoriel, nous allons créer un formulaire que seuls nos utilisateurs connectés pourront voir. Par conséquent, nous voulons le rendre plus personnel en utilisant leur prénom dans l'étiquette de champ d'un champ de formulaire de type Paragraphe.
Ajout du snippet
Nous allons commencer par ajouter notre extrait de code à notre site. Si vous avez besoin d'aide pour ajouter des extraits de code à votre site, veuillez consulter ce tutoriel.
Ci-dessous, nous allons vous montrer deux méthodes : une qui cible un ID de formulaire spécifique et une autre qui s'appliquerait à tous les formulaires. Sélectionnez simplement l'extrait de code que vous souhaitez utiliser.
Ciblage d'un ID de formulaire spécifique
Dans cet extrait de code, nous ciblons uniquement l'ID de formulaire 365. Si vous avez besoin d'aide pour trouver l'ID de votre formulaire, veuillez consulter ce tutoriel.
/**
* Run Smart Tags on all field labels.
*
* @link https://wpforms.com/developers/how-to-process-smart-tags-in-field-labels/
*/
function wpf_dev_textarea_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if ( absint( $form_data[ 'id' ] ) !== 365 ) {
return $field;
}
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_textarea_field_display', 'wpf_dev_textarea_field_display', 10, 3 );
Utilisation pour tous les WPForms
Le code ci-dessous permettrait cela sur tous vos WPForms.
/**
* Run Smart Tags on field labels in WPForms.
*
* @link https://wpforms.com/developers/how-to-process-smart-tags-in-field-labels/
*/
function wpf_dev_textarea_field_display( $field, $field_atts, $form_data ) {
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_textarea_field_display', 'wpf_dev_textarea_field_display', 10, 3 );
Création de votre formulaire
Ensuite, nous allons créer notre formulaire et ajouter nos champs. Le premier champ de formulaire que nous allons ajouter est un champ de formulaire de type Texte de paragraphe. Nous allons utiliser notre nouvelle balise intelligente dans l'étiquette du champ pour extraire le prénom de l'utilisateur. Nous allons donc modifier l'étiquette de ce champ en Dites-nous en un peu sur vous {user_first_name}.

Si vous avez besoin d'aide pour créer votre formulaire, veuillez consulter cette documentation.
Lorsque votre formulaire se chargera, vous verrez le nom extrait de votre nouvelle balise intelligente.

Utilisation des balises intelligentes dans les notifications par e-mail
Vous pouvez également utiliser les balises intelligentes dans vos notifications.
Pour ce faire, accédez à Paramètres depuis l'éditeur de formulaire et sélectionnez Notifications.
Lors de la configuration de votre message de notification par e-mail, vous pouvez sélectionner Afficher les balises intelligentes pour inclure les balises intelligentes que vous souhaitez intégrer à votre message.

Utilisation des balises intelligentes dans d'autres étiquettes de champ de formulaire
Vous trouverez ci-dessous l'extrait de code nécessaire pour chacun des différents champs de formulaire pour lesquels vous pouvez traiter les balises intelligentes dans l'étiquette de chacun de ces champs spécifiques.
Comme mentionné ci-dessus, ces extraits de code sont spécifiques à un seul ID de formulaire. Si vous souhaitez les rendre disponibles pour tous les formulaires, supprimez simplement le bloc dans l'extrait de code qui fait référence à l'ID du formulaire.
/**
* Run Smart Tags on field labels in WPForms.
*
* @link https://wpforms.com/developers/how-to-process-smart-tags-in-field-labels/
*/
// Run smart tags on text field label.
function wpf_dev_text_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return $field;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_text_field_display', 'wpf_dev_text_field_display', 10, 3 );
// Run smart tags on textarea field label.
function wpf_dev_textarea_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_textarea_field_display', 'wpf_dev_textarea_field_display', 10, 3 );
// Run smart tags on checkbox field label.
function wpf_dev_checkbox_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_checkbox_field_display', 'wpf_dev_checkbox_field_display', 10, 3 );
// Run smart tags on email field label.
function wpf_dev_email_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_email_field_display', 'wpf_dev_email_field_display', 10, 3 );
// Run smart tags on select field label.
function wpf_dev_select_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_select_field_display', 'wpf_dev_select_field_display', 10, 3 );
// Run smart tags on radio field label.
function wpf_dev_radio_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_radio_field_display', 'wpf_dev_radio_field_display', 10, 3 );
// Run smart tags on number field label.
function wpf_dev_number_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_number_field_display', 'wpf_dev_number_field_display', 10, 3 );
// Run smart tags on name field label.
function wpf_dev_name_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_name_field_display', 'wpf_dev_name_field_display', 10, 3 );
// Run smart tags on phone field label.
function wpf_dev_phone_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_phone_field_display', 'wpf_dev_phone_field_display', 10, 3 );
// Run smart tags on address field label.
function wpf_dev_address_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_address_field_display', 'wpf_dev_address_field_display', 10, 3 );
// Run smart tags on URL field label.
function wpf_dev_url_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_url_field_display', 'wpf_dev_url_field_display', 10, 3 );
// Run smart tags on password field label.
function wpf_dev_password_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_password_field_display', 'wpf_dev_password_field_display', 10, 3 );
// Run smart tags on payment checkbox field label.
function wpf_dev_payment_checkbox_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_payment_checkbox_field_display', 'wpf_dev_payment_checkbox_field_display', 10, 3 );
// Run smart tags on payment multiple select field label.
function wpf_dev_payment_multiple_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_payment_multiple_field_display', 'wpf_dev_payment_multiple_field_display', 10, 3 );
// Run smart tags on single payment field label.
function wpf_dev_payment_single_field_display( $field, $field_atts, $form_data ) {
// Optional, you can limit to specific forms. Below, we restrict output to
// form #365.
if( $form_data[ 'id' ] != 365 )
return;
$field[ 'label' ] = wpforms()->smart_tags->process( $field[ 'label' ], $form_data );
return $field;
}
add_filter( 'wpforms_payment_single_field_display', 'wpf_dev_payment_single_field_display', 10, 3 );
Cette fonctionnalité ne prendra pas en charge les données saisies par l'utilisateur (par exemple, {field_id="3"}).
Et voilà ! Vous pouvez maintenant traiter vos balises intelligentes dans les étiquettes de champ. Souhaitez-vous traiter les balises intelligentes dans les descriptions de champ ? Consultez notre article sur Comment traiter les balises intelligentes dans les descriptions de champ.
Articles associés
Référence du filtre : wpforms_textarea_field_display