Création d’un plugin WordPress : Généralités
Aujourd’hui je vais commencer une série de billets sur la création de plugin pour WordPress. Plusieurs sources sont déjà présentes sur le web, mais le but ici est de centraliser un maximum d’informations en français sur le sujet. Contrairement à la plupart des sources existantes, je ne vais pas m’appuyer sur un plugin précis pour détailler les différentes étapes nécessaires à sa création. Je vais plutôt essayer d’aborder différents points qui pourraient vous être utile.
Si votre plugin nécessite une connexion à la base de données, je vous conseil de regarder comment elle fonctionne et de vous familiariser avec. Cela vous sera utile si vous souhaitez vous servir de la base de données pour stocker des informations relatives à votre plugin, mais aussi pour récupérer les informations du blog. Vous pouvez notamment commencer par consulter cet article.
Le minimum nécessaire pour créer votre plugin WordPress est un fichier PHP stocké dans le dossier wp-content/plugins/. Cependant, rien ne vous empêche d’utiliser plusieurs fichiers (pas uniquement PHP). Pour le plugin FaceThumb, par exemple, en plus des différents fichers PHP on a un fichier .swf (flash). De plus, vous pouvez les stocker dans un dossier pour plus de clareté. Pour que votre plugin soit fonctionnel et reconnu comme tel par WordPress il faut, tout de même, qu’il respecte une certaine organisation. Au début de votre fichier PHP, vous devez définir certains champs pour que WordPress reconnaisse votre plugin :
/*
Plugin Name: WP_FaceThumb
Plugin URI: http://www.mnt-tech.fr/blog/
Description: The plugin allows your visitors to post thumbnails on your blog.
Version: 0.0.1
Author: MNT-Tech S.A.R.L.
Author URI: http://www.mnt-tech.fr/
*/Vous ne devez mettre ces informations que sur le fichier de base de votre plugin. En effet, ces informations vont être affichées par WordPress sur l’écran de gestion des Extensions dans la partie administrateur et vous permettront donc de reconnaître votre plugin. Vous pourrez donc ensuite l’activer, le désactiver, … Si votre plugin contient plusieurs fichiers, vous ne devez écrire ces informations que sur le fichier de base. C’est grâce à cela que WordPress saura quel fichier lire pour activer ou désactiver votre plugin.
Enfin, le fichier PHP de l’extension que vous souhaitez écrire va devoir respecter une structure de base pour fonctionner correctement (tous les éléments ne sont pas oblgatoires mais peuvent être utile suivant le but que doit atteindre le plugin). Cette structure va séparer le code en plusieurs parties. Une partie va être executée uniquement lors de l’activation de votre plugin, une spécifiquement lors de la desactivation et le reste va être lu à un instant précis du chargement de WordPress. Cet instant va dépendre du but rechercher par votre extension. Pour définir le moment exact du chargement de votre blog où une partie de votre code doit s’activer, vous allez devoir utiliser les hooks WordPress. Avec les hooks vous pourrez, par exemple, détruire une table de la base de données qui contient des informations relatives à votre plugin, uniquement lorsque l’utilisateur souhaite désinstaller votre extension.



Bon … je vais suivre la marche à suivre et voir si j’arrive à me faire un plugin qui n’existe pas et qui me semble relativement compliqué …
Gunter