Formation PUB020 : WordPress, 2023 Programmation WordPress

24.1 Programmer dans le thème enfant ou dans une extension ?


Les fonctionnalités d'un site WordPress peuvent être programmées dans un thème ou dans une extension.

La programmation effectuée directement dans un thème téléchargé (le thème parent) est à éviter puisque vos modifications seraient écrasées lors d'une mise à jour du thème.

Mais comment choisir entre l'ajout d'une fonctionnalité dans le thème enfant et la programmation d'une extension ?

Voici un petit guide pour vous aider.

  Programmation dans le thème enfant Programamtion d'une extension
Dans quel fichier  Dans le fichier functions.php du thème enfant ou dans un de ses sous-fichiers. Dans un fichier PHP placé dans un sous-dossier de wp-content/plugins. Le code sera idéalement dans une classe.
Facilité de mise en oeuvre Facile : il suffit d'ajouter le code dans functions.php (en respectant les bonnes pratiques WordPress bien entendu).

Facile si on ne se soucie pas des bonnes pratiques.

Complexe si on désire coder une extension qui respecte les principes de la programmation objet, minimise les risques de conflits avec les thèmes des sites dans lesquels elle sera utilisée, met en place des règles de sécurité minimales, rend les mises à jour faciles, etc.

Disponibilité de la fonctionnalité La fonctionnalité ne pourra être utilisée que dans le thème enfant. Si on a plusieurs sites qui ont besoin de la fonctionnalité, il faudra la coder dans le thème enfant de chacun de ces sites. La fonctionnalité sera disponible pour tous les sites qui en ont besoin, peu importe le thème utilisé. Il suffit d'installer l'extension pour que tout fonctionne.
Effet sur la rapidité d'exécution du site  Aucune différence entre les deux approches 
Moment où le code de la fonctionnalité est exécuté Le thème enfant est chargé après les extensions. Les extensions sont chargées avant le thème parent et le thème enfant.
Modularité du code Il est possible de créer un fichier par fonctionnalité et de faire en sorte que functions.php charge l'ensemble des fonctionnalités. Le développement d'une extension est modulaire de par sa nature. Une extension couvrira une seule fonctionnalité ou un ensemble de fonctionnalités inter-reliées.
Protection en cas de problème Si une fonctionnalité dans functions.php ou dans un de ses sous-fichiers pose problème, il faudra ouvrir le fichier, retrouver le code en question et le mettre en commentaire en attendant de régler le problème sur une copie locale du site. Si une extension pose problème, il suffit de la désactiver à partir du tableau de bord en attendant de régler le problème sur une copie locale du site.

▼Publicité Le texte se poursuit plus bas

Pour plus d'information

« Functionality: Plugins vs Themes ». Envato tuts+. https://code.tutsplus.com/articles/functionality-plugins-vs-themes--wp-26314

« Plugins vs themes: do you know the difference? ». Torque. https://torquemag.io/2015/07/plugins-vs-themes-know-difference/

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Par Christiane Lagacé
Dernière révision le 6 octobre 2022
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre