Lors de mon premier article “Créer, développer un plugin wordpress“, nous avons abordé les grandes lignes ainsi que la conception du cartouche wordpress. Avec l’article d’aujourd’hui nous allons entré dans le vif du sujet. Pour que vous suiviez bien le tutoriel nous allons nous appuyer sur un exemple. Cet exemple sera mon plugin “My Ranks” (encore en cours de réalisation). Le but de ce plugin est de permettre au propriétaire du blog de connaitre son positionnement Google sur différentes requêtes. Nous n’allons donc pas agir sur l’affichage des visiteurs mais simplement dans la partie admin. Une fois ce tutoriel fini, je le compléterai avec la partie visiteur (ajout d’un widget par exemple).
Bon, trêve de bavardage, on y va !!!
Après avoir regardé si le nom de mon plugin était unique, je l’ai donc nommé “My Ranks”. Ce qui dans l’architecture donne : wp-content/plugins/myranks/myranks.php.
Je vais développer en utilisant une classe et en PHP5. Pourquoi une classe ? Tout d’abord cela est bien plus propre. Ensuite, je suis habitué à développer en objet désormais. Enfin, chaque fonction doit être unique dans tout les plugins activés dans votre blog. En passant par une classe il n’y a que le nom de la classe qui doit être unique. Vu que c’est le même que le nom de mon plugin ça passe. A ce stade, mon fichier php ressemble à ça :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
/* ---------------------------------------------------- CARTOUCHE D'IDENTIFICATION ---------------------------------------------------- */ /* Plugin Name: My Ranks Plugin URI: http://rkueny.fr Description: Plugin servant à suivre la position de mots clés choisis sur le moteur de recherche google Author: R.Kueny Version: 0.1 Author URI: http://rkueny.fr */ class myranks{ public function __construct(){ } } $ranks = new myranks();
Je ne vous représente pas la cartouche d’identification. Si vous avez loupé le premier tutoriel sur la création d’un plugin wordpress retournez le lire
.Ici donc, rien de bien compliqué. Je déclare ma classe et son constructeur. Ensuite je l’initialise. A chaque fois que vous irez dans la partie plugins ou sur le plugin vous créez donc un objet myranks.
Installer/activer son plugin
Lorsqu’un admin met en route un plugin il y a deux étapes. L’installation et l’activation. Vous pouvez commencer à agir lors de l’activation. Pour cela, Wordpress met à votre disposition des hooks. Un hook vous permets d’agir sur le cœur du système wordpress. Nous allons ici voir votre premier hook, celui de l’activation.
Syntaxe : register_activation_hook($file, $fonctions);
Documentation : ce hook va agir lors de l’activation de votre plugin.
Le premier paramètre $file correspond au chemin de votre fichier principal (myranks.php dans ce cas là). Étant donné que vous êtes déjà dessus vous pouvez utiliser __FILE__. Ce paramètre est obligatoire.
Le second paramètre correspond à la fonction à exécuter lors de l’activation de votre plugin. Ici nous allons faire appel à une fonction dans notre classe myranks. Ce sera la fonction install(). Du coup on l’appellera ainsi : array(’myranks’,'install’). Si la fonction n’avait pas été dans une classe nous aurions juste fait ‘install’
Cela va donc vous donner :
register_activation_hook(__FILE__, array(’myranks’,'install’));
Désinstaller/désactiver son plugin
De nouveau, vous ne pourrez agir que lors de la désactivation du plugin. Cela se passe de la même façon mais avec cette syntaxe :
register_deactivation_hook(__FILE__, array(’myranks’,'desinstall’));
Un point important à souligner. Vos fonctions install et desinstall doivent être en accès public, sinon le hook ne pourra pas y accéder.
Pour la documentation officielle des deux hooks :
Hook activation
Hook desactivation
C’est fini pour aujourd’hui. Dans le prochain billet nous verrons l’accès à la base de donnée et peut-être la création d’un menu dans la partie admin.
See you later