Contenu principal

Un p’tit nouveau dans ma famille d’extensions WordPress

Ouep, j’ai fait une petite extensions pour les utilisateurs de Divi. Hey! Je te vois ricaner là ! Arrête ça de suite !

Bon, pour la petite histoire, car je me sens obligé de me justifier pour le coup là : un ami a utilisé Divi pour la nouvelle version de son site, et m’a demandé ensuite quelques petites personnalisations (comme quoi on fait parfois des trucs complètement fous pour les potes). Bref, à un moment il a voulu ajouter un formulaire d’inscription à une newsletter, placé après chaque article. La fonctionnalité était de base dans le plugin, mais un soucis est apparu sur les pages construites avec le builder et ayant le layout fullwidth : le formulaire prenait toute la largeur de la page et ça rendait pas bien du tout. Donc je fouille dans le plugin et je trouve le moyen d’ajouter une classe au formulaire, ensuite c’est Divi qui limite la largeur par lui-même. Good. Et puis… Allez, on ajoute des articles en relation ! Et bien sûr c’est le même problème. Rhâââââ ! Sauf que là je me suis dit que, si ça se trouve, demain il me refera la même avec des boutons de partage, donc il faut absolument que je trouve une meilleure solution sinon ça n’en finira jamais. Et c’est là que m’est venue l’idée : créer une sorte de wrapper qui engloberait tout le contenu additionnel (vous savez, ce moment où après s’être couché depuis une demie-heure, vous vous écriez « Putain, j’ai trouvé ! »).

Le principe en lui-même est très simple, et fonctionne grâce à deux filtres sur the_content :

  1. Une première fois très tôt, pour passer avant tout le monde, et qui ajoute une <div> vide qui me servira de témoin.
  2. Une seconde fois très tard, en espérant passer en dernier : si ma div est présente à la fin du contenu c’est qu’aucun contenu supplémentaire n’a été ajouté (et je l’enlève tant qu’à faire). Dans le cas contraire, c’est qu’un plugin est venu se glisser après ma div témoin. Dans ce cas, je cherche ma div au milieu du contenu : elle marque l’emplacement du début de mon wrapper, une simple histoire de regex .

C’est donc le principe de mon extension.
Ha oui, je ne vous ai pas encore dit comment elle s’appelle, c’est SF After Content Box (oui je sais, j’ai ce qui semble être un don inné pour trouver le nom de mes extensions). Donc voilà : trouver le contenu additionnel et y ajouter une « section » autour. Si besoin, elle dispose de deux filtres qui permettent de modifier son comportement et son marquage html. Davantage d’infos sur sa page dédiée (lien ci-dessous).

See ya!