WordPress fait partie des solutions principales que nous implémentons pour des sites e-commerce (avec WooCommerce) et des sites vitrines (bien que nous allions de plus en plus vers du CMS Headless), nous allons vous détailler une liste de plugins et de librairies que nous utilisons dans tous les projets
A la base, un thème WordPress sur-mesure
Nous n’utilisons pas de constructeur de sites comme Divi, ou Elementor, tous les sites que nous réalisons sont basés sur des thèmes sur-mesure que nous développons de A à Z. A l’aide de plugins complémentaires, nous arrivons à réaliser des sites internet simples à mettre à jour, sans connaitre une seule ligne de code HTML. Le site internet reste rapide, ne consomme pas beaucoup de ressources et peut donc être hébergés sur des hébergements économiques.
Faire un thème sur-mesure, nous permet de tout maitriser et donc de mettre en cache, via des transients, par exemple, et donc de partager ce cache sur plusieurs pages (exemple une liste d’articles qui s’affiche sur plusieurs pages, nous pouvons la générer et la regénérer en backoffice, dès qu’un nouvel article est publié)
Nous générons des types de page et il suffit d’appliquer le type de page à la page en question pour qu’elle prenne la mise en forme défini dans le “template”
Une règle d’or que nous implémentons le plus, c’est de réduire notre adhérence à des plugins externes. Ainsi nous limitons les failles, maitrisons le code que nous livrons et implémentons uniquement ce qui est nécessaire ainsi, le thème est le plus autonome possible.
En complément, la librairie Timber
Nous aimons bien avoir une séparation des responsabilités entre la partie affichage et la partie récupération des données. Pour réaliser cette séparation (SOC : separation of concerns), nous faisons appel à Timber qui utilise derrière lui la librairie Twig (que nous utilisons dans tous nos projets Symfony, quand nous ne réalisons pas un Frontend JavaScript).
Pour ce faire, c’est simple, nous créons la page du WordPress en question, par exemple la page d’accueil, sous forme de fichier PHP dans lequel nous ne trouvons uniquement la partie requêtage de la base de données via les API de WordPress. A côté de ce fichier PHP, nous créons un fichier twig dont sa responsabilité est uniquement de gérer l’affichage. Ainsi, dans le template de la page, nous n’avons plus de fonction de WordPress appelée, c’est uniquement Timber qui se charge de cette partie.
Mais la partie affichage ne serait rien, sans un bon système pour gérer son contenu, et c’est là que ACF (Advanced Custom Fields) intervient.
Advanced Custom Fields customise le backoffice de WordPress
En utilisant des types de page et ACF, il nous est possible de proposer des champs personnalisés permettant de remplir toutes les zones de la page, et surtout de proposer des champs adaptés. L’utilisateur est guidé tout du long, sans avoir à entrer une seule ligne de code HTML.
Une fois ces champs définis, on peut définir si ceux-ci sont optionnels / obligatoires et on peut ainsi les récupérer dans Timber qui n’a pas à se soucier de savoir si le champs existe ou non.
ACF permet également de rajouter des champs complémentaires à des Articles, Pages ou tout autre type d’objets (Produits dans WooCommerce)
En complément, nous utilisons ACF pour permettre de gérer des configurations. On peut par exemple, changer le destinataire des formulaires de contact (car oui, nous n’utilisons pas forcément des plugins pour cela), changer les horaires d’ouverture.
Pour les connaisseurs de Strapi (solution de CMS fonctionnant sous NodeJS), ACF permet de faire la même chose avec WordPress
WooCommerce pour la partie Boutique en ligne
N’allons pas réinventer la roue et utilisons l’excellent WooCommerce pour la mise en place d’une boutique en ligne. Timber prend en charge WooCommerce sans problème. En fonction des produits, nous mettons en place des champs personnalisés complémentaires sur le Produit de WooCommerce, par exemple, un éditeur de livres trouvera mettra en vente des livres et non des Produits.
En conclusion
Pour rien au monde nous ne changerions de façon de faire. Après avoir essayé Avada, Divi, Elementor … notre méthode est plus simple, plus maintenable et permet de faire des sites internet plus performants tout en gardant une maitrise de A à Z. Notre méthode ne nous empêche pas de mettre des effets de style partout, et toutes les autres joyeusetés proposées par ces constructeur de site.