Salut :),
Dans ce tutoriel, nous allons voir les bases pour créer votre propre plugin WordPress. Nous le développerons de manière Orienté Objet pour que ce soit plus structuré.
Création du dossier
La première étape est d’ajouter un dossier à la racine de plugins dans votre site WordPress. Tous les plugins doivent se trouver dans ce dossier !
Dans mon cas, je l’ai nommé tutorielplugin.
Création du fichier de plugin
Une fois dans le dossier que nous venons de créer, nous allons y ajouter un fichier PHP, c’est le point d’entrée de notre plugin WordPress.
Pour que notre CMS détecte que le fichier soit bien un plugin, il faut ajouter au moins les lignes suivantes au tout début du fichier :
<?php /* Plugin Name: Nom de votre plugin */
Si vous souhaitez faire une description complète du plugin, voici les lignes à ajouter avec vos informations :
<?php /* Plugin Name: Nom de votre plugin Plugin URI: http://bfrancois.com Description: Exemple de plugin WordPress Version: 0.1 Author: Benjamin François Author URI: http://blog.bfrancois.com License: GPL2 */
Faites attention aux espaces et aux retours à la lignes. Si tous s’est bien passé, vous devriez avoir quelque chose comme ça dans la partie admin :
Structure de base du plugin
La structure de votre plugin devrait avoir cette forme, c’est une classe classique en PHP. La condition vérifie si la classe a été instancier pour ne pas le refaire.
/* Plugin Name: Tutoriel Plugin WordPress Plugin URI: http://bfrancois.com Description: Exemple de plugin WordPress Version: 0.1 Author: Benjamin François Author URI: http://blog.bfrancois.com License: GPL2 */ if (!class_exists('TutorielPlugin')) { class TutorielPlugin { public function __construct() { } } } $tutoriel_plugin = new TutorielPlugin();
Nous allons voir comment ajouter une action à notre plugin. Pour faire quelque chose de simple, nous allons ajouter à notre interface admin un lien vers une page de configuration de celui-ci.
Ajout d’une action
Pour ajouter une action à notre plugin, nous allons d’abord créer une fonction :
/** * Un exemple d'action */ public function simple_action(){ }
Une fois la fonction créée, nous allons l’ajouter au constructeur pour déclencher l’action dès le début.
/** * Constructeur */ public function __construct() { add_action('admin_menu', array($this,'simple_action')); }
Ajout d’un lien dans le menu administrateur
Pour ajouter un lien dans l’interface admin, c’est assez simple. Dans la fonction simple_action, il faut ajouter le code suivant :
/** * Un exemple d'action */ public function simple_action() { add_menu_page('Plugin Tutoriel', 'Plugin Tutoriel', 'manage_options', 'plugin-tutoriel', array($this, 'plugin_tutoriel'), 'dashicons-admin-comments', 4); }
Les paramètres de add_menu_page correspondent au nom dans le menu, le titre de la page, les droits nécessaires, le nom affiché dans l’url (ex : ?page=plugin-tutoriel), la méthode à appeler, l’icône à afficher dans le menu et la position dans le menu.
Je vous invite à regarder cette page qui décrit bien son fonctionnement :).
Maintenant nous allons créer notre méthode qui va créer la page du plugin.
Page de plugin
Pour afficher la page du plugin nous allons créer la méthode suivante :
/** * Affichage de la page du plugin */ public function plugin_tutoriel() { if (!current_user_can('manage_options')) { wp_die(__('Vous n\'avez pas les droits pour accéder à cette page.')); } include(sprintf("%s/plugin_tutoriel.php", dirname(__FILE__))); }
La condition vérifie que l’utilisateur a les droits pour accéder à la page, sinon on lui affiche une erreur.
Ensuite on ajoute la page de configuration. Dans mon cas j’ai créé une page plugin_tutoriel.php à la racine de mon dossier qui contient de l’HTML
Activation du plugin
Retournez dans la gestion des extensions et activez votre création ! Si tout se passe bien, Vous deviez voir ceci :
Conclusion
Pas trop long j’espère ? Vous pouvez télécharger le code source du tutoriel ici. Si vous avez des questions, ou si je ne suis pas assez clair, hésitez pas à me contacter.