Sélectionner une page

Vous utilisez Divi comme builder de votre site ? Moi aussi 🙂

Je viens d’apprendre comment ajouter le titre de l’article / de la page / du produit / etc… actuel au corps de l’e-mail du formulaire de contact.

Par défaut, il n’est pas possible d’ajouter du contenu dynamique dans un champ de formulaire de contact. De ce fait, le titre de la publication ou de la page à partir de laquelle le formulaire de contact a été soumis ne peut pas s’afficher.

Cet article décrit toutes les étapes de personnalisation pour intégrer le titre de la publication / page dans le corps de l’e-mail du module Formulaire de contact.

1. Pour chaque module de formulaire de contact dont vous souhaitez inclure le titre de l’article/de la page dans le corps de l’e-mail, ouvrez ses paramètres en cliquant sur l’icône d’engrenage.

2. Insérez un nouveau champ et définissez les options suivantes :

ID du champ : dt-custom-title
Titre : Titre du message

Comment inclure le titre de l'article/de la page dans le corps de l'e-mail du formulaire de contact
  • Type : Champ de saisie
  • Champ obligatoire : Non
Comment inclure le titre de l'article/de la page dans le corps de l'e-mail du formulaire de contact

3. Accédez à l’onglet AvancéCSS personnaliséCSS en forme libre

Comment inclure le titre de l'article/de la page dans le corps de l'e-mail du formulaire de contact

Ajoutez ce code CSS :

selector {
  display: none;
}

Le code CSS masquera le champ côté client, car nous n’avons pas besoin de l’afficher.

4. Modifiez le modèle de message et assurez-vous que le champ est inclus en utilisant %%dt-custom-title%%

Comment inclure le titre de l'article/de la page dans le corps de l'e-mail du formulaire de contact

Si vous utilisez un thème enfant , modifiez le fichier functions.php et placez ce code PHP après le code existant :

// Add current post title to a contact form hidden field
function add_post_title_to_cf_field(){
  // Get post title
  global $post;
  $title = get_the_title($post->ID); ?>

  <!-- Script for adding the retrieved title into the hidden field -->
  <script>
    (function($){
      $(document).ready(function(){
        if ($('p[data-id="dt-custom-title"] input').length) {
          $('p[data-id="dt-custom-title"] input').attr('value','<?php echo $title; ?>');
        }
      });
    })(jQuery);
  </script>
<?php }
add_action('wp_footer', 'add_post_title_to_cf_field');

Et voici le résultat dans l’email :

Comment inclure le titre de l'article/de la page dans le corps de l'e-mail du formulaire de contact

J’espère que ce petit tuto que j’ai trouvé ici vous plaira car j’ai mis pas mal de temps à trouver cette astuce !

Pour ma part, j’ai amélioré le code :
– création d’un shortcode bouton pour capter l’ID de la page et le transmettre au formulaire
– récupération de l’ID et affichage du Titre et URL correspondant

A bientôt

Florent Maillefaud

Comment inclure le titre de l'article / de la page dans le corps de l'e-mail du formulaire de contact 1Webmaster à Sablons (Isère) / Création de sites internet WordPress.

Micro-entrepreneur depuis 2012, je vous propose la création ou la refonte de votre site internet sous WordPress et à votre image.

Que ce soit un site vitrine, un blog ou un site e-commerce pour votre entreprise ou association, laissez votre empreinte sur le web !

Share This