insertion d'un formulaire en fonction du slug de la page

Insérer un formulaire automatiquement en fonction du slug parent

Bonjour, aujourd’hui je vais vous partager un bout de code à utiliser avec wp code sur WordPress pour insérer un formulaire automatiquement en fonction du slug parent.

Voici le contexte qui m’a fait écrire ce petit morceau de code bien pratique. Avec l’excellent plugin de création de contenu Otomatic, je me suis relancé dans les sites de devis avec l’affiliation viteundevis.

Otomatic est parfait pour créer du contenu grâce à son système de template, il est également possible d’y ajouter des champs personnalisés si vous utilisez des modèles de page et ACF. Mais ce n’est pas mon cas.

J’ai donc cherché une solution et voici comment j’ai procédé.

Code et utilisation

Pour les devis, je fonctionne par région puis ville. Je crée d’abord une page région puis des pages filles contenant les villes de la région. Je vais utiliser le slug (url) de la page région (page mère) pour pouvoir insérer mon formulaire sur cette page et sur toutes les pages filles.

Voici le code à utiliser :

Pour l’utiliser vous devrez remplacer le slug de la page parent dans la variable $slug_parent et insérer le code du formulaire à la place de CODE_FORMULAIRE.

A noter que vous pouvez remplacer CODE_FORMULAIRE par un bouton ou autre chose.

Pour utiliser ce code dans WPCode :

  1. Créez un nouvel extrait de code dans WPCode ou modifiez l’extrait existant.
  2. Assurez-vous que le type d’extrait est « PHP Snippet ».
  3. Copiez-collez le code ci-dessus.
  4. Remplacez ‘votre-slug-parent’ par le véritable slug de la page parent que vous souhaitez utiliser.
  5. Dans les paramètres de l’extrait, définissez l’insertion automatique sur « Partout » ou choisissez des pages spécifiques si nécessaire.
  6. Activez l’extrait et sauvegardez.

Ce code fait les choses suivantes :

  1. Il vérifie si le slug de la page parent spécifié est présent dans l’URL actuelle.
  2. Si le slug est présent, il ajoute un filtre au contenu de la page.
  3. Ce filtre utilise une expression régulière pour trouver la fin du premier paragraphe (</p>).
  4. Il insère ensuite le formulaire juste après cette balise de fermeture du premier paragraphe.

Cette approche garantit que le formulaire sera inséré après le premier paragraphe, quel que soit le contenu de la page. Si la page ne contient pas de paragraphe, le formulaire sera ajouté à la fin du contenu.

N’oubliez pas de remplacer ‘votre-slug-parent’ par le slug réel de la page parent que vous souhaitez utiliser comme condition d’affichage.

Vous savez désormais comment insérer un formulaire en fonction de la page. J’ai demandé au développeur d’Otomatic s’il était possible d’ajouter dans les templates la possibilité d’intégrer des shortcodes mais en attendant ce patch fait largement l’affaire.

Cliquez ici pour tester gratuitement Otomatic

Publications similaires