Le guide du développeur pour créer un plugin WordPress.
Avant-propos
Pour créer un plugin WordPress, il est nécessaire de connaitre au minimum les bases des langages PHP et HTML. Il est bien entendu possible d’y ajouter d’autres langages tels que le CSS, JavaScript et XML pour ne citer que les plus couramment utilisés.
A ce jour, WordPress compte plus de 36 000 plugins.
Pour illustrer ce tutoriel, les exemples porteront sur un plugin nommé, formation-wp. Il ne possèdera pas de fonctionnalité particulière. Il peut être considéré comme un gabarit regroupant les indispensables pour créer un plugin WordPress.
L’arborescence des plugins
La première étape consiste à trouver un nom unique à votre plugin. Choisissez-le bien, car il figurera à différents endroits: dans le code est dans l’arborescence. De plus, si le plugin est voué à être publié sur le site officiel de WordPress, la publication de ce dernier pourrait être refusé si le nom est déjà pris.
Enfin, les plugins sont à placer dans le dossier /wp-content/plugins.
Le minimum vital
Créez un fichier PHP ayant pour nom celui du plugin (ici, formation-wp.php), ajoutez-y l’entête suivant:
[php] <?php/**
* Plugin Name: Formation-WP.
*/
[/php]
A ce stade, le plugin est considéré comme valide par WordPress. Il est désormais possible de taper du code à la suite de cet en-tête.
Pour aller plus loin
Bien que valide, notre plugin n’est pas suffisamment fourni pour être publié sur le site officiel de WordPress. L’en-tête du fichier formation-wp.php n’est pas complet et un fichier readme.txt manque à l’appel.
Dans la mesure où notre plugin contient plus d’un fichier, il faut également créer un dossier racine qui reprend le nom du plugin.
/wp-content /plugins /formation-wp formation-wp.php readme.txt
Reprenons l’entête du fichier formation-wp.php comme dans l’exemple ci-dessous:
[php] <?php/**
* Plugin Name: Formation-WP.
* Plugin URI: URL du site officiel du plugin.
* Description: Description courte qui figurera dans le tableau de bord de wordpress
* Version: 1.0.0
* Author: Jeremy SPAETH
* Author URI: URL du site de l’auteur.
* Text Domain: Optionnel. Plugin’s text domain for localization. Example: mytextdomain
* Domain Path: Optionnel. Chemin relatif vers les fichiers de traduction .mo – Example: /languages/
* Network: Optionnel. Valeurs: true/false. Si true, le plugin peut être activé/désactiver indépendamment sur chaque sites d’une structure Mulitsite.
* License: Tout les plugins WordPress doivent être sous licence GPL2
*/
[/php]
Pour ceux qui ont déjà eu l’opportunité de rédiger un fichier readme.txt savent que c’est une tache longue est ingrate. Heureusement le site GenerateWP se propose de le créer à votre place.
L’internalisation du plugin
Dans l’en-tête du fichier formation-wp.php il est mentionné l’informaiton Domain Path qui pour rappel indique le chemin relatif vers les fichiers de traduction. La ligne de code ci-dessous permet le chargement des fichiers .mo contenu dans le sous-dossier languages.
[php]load_plugin_textdomain(‘your-unique-name’, false, basename( dirname( __FILE__ ) ) . ‘/languages’ );
[/php]