Philosophie des extensions WordPress
L’une des forces de WordPress dans la jungle CMS, c’est la simplicité de création d’extensions. Il y a plusieurs raisons à cela. Des raisons techniques tout d’abord : WordPress est développé en PHP 4, sur un modèle classique. Il est très peu orienté POO (programmation objet) ; il est donc très simple de débuter la programmation PHP avec WordPress. Ensuite, il y a des raisons qui lui sont propres : une documentation technique très complète sur le wiki de WordPress, le codex, http://codex.wordpress.org/ Developer_Documentation (voir Figure 8.01), et un ensemble d’API mises à disposition par les développeurs de WordPress pour étendre et modifier facilement les fonctionnalités.
Notez que depuis la version 2.5 du logiciel un énorme travail est réalisé par l’équipe de WordPress pour documenter au fur et à mesure le cœur du logiciel. Cette documentation incluse directement dans les fichiers de WordPress peut être extraite via des logiciels tels que PHPdoc. Cette documentation décrit chaque fonction et propose un résumé fonctionnel, l’auteur, la version d’ajout dans WordPress, sans oublier les paramètres que la fonction peut prendre, ainsi que la valeur de retour.
Les prérequis techniques
Créer une extension WordPress demande quelques connaissances techniques… En plus de bien connaître les rouages de WordPress d’un point de vue utilisateur, il est indispensable de maîtriser ou de comprendre plusieurs langages informatiques dont : PHP est un langage de script libre ; il est principalement utilisé pour générer des pages Internet dynamiques via un serveur HTTP. Ce qu’il faut retenir ici, c’est que WordPress utilise PHP de façon très classique ; c’est l’ancienne école, diront certains. Il n’est pas question d’une programmation orientée objet mais d’une utilisation classique des fonctions, des variables globales et de quelques classes PHP 4. Car il ne faut pas l’oublier, une des forces de WordPress réside également dans une compatibilité PHP 4 qui lui permet un maximum de compatibilité sur le marché de l’hébergement ! Les trois autres langages sont communs à tous les projets Internet ; le JavaScript permet une meilleure approche utilisateur et une interactivité dans les fonctionnalités d’un site web, tandis que le code HTML et le CSS permettent la mise en page sur les navigateurs web. L’API la plus importante de WordPress est celle des hooks. En français, cette notion de hook peut être traduite par « crochet ». Cette traduction a donné lieu à un débat enflammé sur le blog de WordPress Francophone : http://www.wordpress-fr.net/blog/comment-traduiriez- vous-hook.
Ces crochets sont parsemés dans tout le code de WordPress par l’équipe de développement. Ils ne sont pas placés aléatoirement, ce qui n’aurait aucun intérêt, mais suivant une logique propre à WordPress. En effet, pour chaque action, chaque événement de WordPress, les développeurs ont placé stratégiquement des crochets susceptibles d’être utilisés par des développeurs d’extensions. D’ailleurs, dans chaque fonctionnalité implémentée dans WordPress, les développeurs vont penser, vont structurer le code pour y placer un ou plusieurs crochets, permettant ainsi à une extension de modifier ou étendre le comportement initial. Vous avez bien lu, modifier ou étendre le comportement de WordPress. En effet, il est pos- sible de différencier deux familles de crochets : les actions, et les filtres. La différence entre les deux est subtile, mais très importante.
Pour inclure un copyright avec une action, la première méthode consiste à ajouter une action lors de l’enregistrement de l’article, en automatisant l’ajout du copyright au texte au moment de l’insertion en base de données. La seconde méthode, qui serait plus intéressante ici, consiste à ajouter un filtre lors de l’affichage du texte de l’article sur la partie visiteur de votre blog et à intégrer dynamiquement le fameux copyright au contenu de l’article. Le filtre est ici la meilleure solution, car vous pourrez modifier le texte du copyright sur chaque article à la volée, chose impossible via la méthode de l’action et l’enregistrement dans la base de données de WordPress. Néanmoins, les deux méthodes présentent des inconvénients : ainsi, avec la technique du filtre, il sera impossible pour un auteur d’éditer le texte du copyright. En conclusion, avec les filtres et les actions vous disposez de deux méthodes pour étendre ou modifier le comportement de WordPress. Il vous faudra peser le pour et le contre afin de choisir la meilleure solution pour répondre correctement et facilement à votre besoin.