Comment développer son propre plugin WordPress

Si WordPress est si populaire, c’est avant tout parce que ce CMS est en open source, que son installation est rapide et que sa prise en main est très accessible. Le succès de ce logiciel est également lié à la facilité avec laquelle on peut effectuer des modifications. Depuis la sortie de la version 1.2, WordPress est compatible avec de nombreuses extensions qui lui sont propres. Ainsi, les programmeurs ont pu très tôt adapter ce CMS à leurs besoins et ce sans même avoir à changer le code source. Depuis, des dizaines de milliers de plugins WordPress ont été programmés, bien que ce CMS ait toujours été caractérisé par une certaine flexibilité et s’adapte facilement à l’administration de sites Web.

Les avantages d’un plugin WordPress sur-mesure

Au vu des nombreuses extensions qui sont pour la plupart gratuites (au même titre que WordPress), il peut sembler au premier abord inutile de développer son propre plugin Wordpress. La longue liste disponible en téléchargement sur le site officiel de WordPress en témoigne. En consultant la liste des extensions disponibles, vous constaterez que de nombreux plugins correspondent à vos critères de recherche, mais pas forcément à vos attentes, car :

  • ils ne sont pas développés assez régulièrement
  • ils ne fonctionnent pas comme souhaité
  • ils ne proposent pas un éventail de fonctionnalités assez large

Il peut donc être intéressant pour vous de développer votre propre plugin WordPress ou d’en choisir un déjà existant, afin de le paramétrer en fonction de vos envies. Un plugin sur-mesure est également une excellente alternative à l’élargissement des fonctionnalités et des thèmes sur WordPress. Les thèmes sur WordPress vous permettent de modifier l’apparence de votre blog. Ces modifications les plus courantes s’effectuent via une installation automatique ou manuelle. Pour cela, les utilisateurs du CMS ont souvent recours au fichier functions.php. Le fait de copier des extraits de code (pour intégrer Google Analytics par exemple) est un moyen rapide et facile pour bénéficier d’une utilisation personnalisée de WordPress.

Néanmoins, la customisation du fichier functions.php n’est pas toujours recommandée, notamment pour les projets de grande envergure. Cette fonction peut porter à confusion et mener à des bugs qui affecteront tout votre site. De plus, toutes les modifications apportées doivent être reportées minutieusement dans l’outil. Mais certains plugins WordPress permettent de gérer ces modifications individuellement sans connaissances approfondies en développement et de manière bien plus pratique qu’avec la fonction functions.php. Découvrez comment y parvenir ci-dessous.

Étape 1 : développer son propre plugin WordPress

WordPress se base sur le langage de script PHP. C’est pourquoi les plugins WordPress sont toujours en langage PHP et les plus simples ne comportent que quelques lignes de code. La programmation de ces codes peut tout de même être restreinte par la licence d’exploitation. Sachant que WordPress dépend de la licence GNU General Public License (GPL), il est recommandé de choisir une licence adaptée, comme GPLv2 par exemple. Pour uniformiser le code des plugins, des standards ont été mis en place. Leur utilisation n’est pas obligatoire, mais elle est recommandée si vous désirez mettre votre plugin à disposition du public.

Pour développer votre plugin WordPress, il est recommandé de suivre ces étapes :

1. Tout d’abord, il convient de créer un fichier PHP. Pour cela, vous pouvez utiliser votre éditeur de texte de prédilection. Mais attention, lorsque vous passerez à la partie programmation, vous aurez à utiliser un programme spécifique tel que Notepad++. Sélectionnez « tous les fichiers » lors de la sauvegarde, et veillez à modifier l’extention en .php (nommez par exemple le fichier « mon-plugin.php »). Copiez simplement le fichier dans les dossiers des plugins WordPress (nommé par défaut /wp-content/plugins/). Pour mieux structurer l’ensemble, notamment les scripts composés de plusieurs fichiers, créez un sous-dossier : /wp-content/plugins/mon-plug-in. Vous pouvez dès à présent compléter les premières informations nécessaires :

<?php
/*
Plugin Name : NOM DU PLUGIN
Plugin URI : LIEN VERS LE PLUGIN
Description : DESCRIPTION DU PLUGIN
Version : 1.0
Author : VOTRE NOM
Author URI : LIEN VERS VOTRE PAGE D’ACCUEIL 
License: GPLv2
*/
?>

2. Vous avez franchi la première étape, votre plugin WordPress a été créé et se trouve sur la page d’administration dans la liste des plugins. Vous y trouverez également leur description et deux raccourcis, un vers votre page d’accueil et un vers votre page de plugins. En ce qui concerne le bouton permettant l’activation ou la désactivation, il vous sera utile ultérieurement (lorsque les différentes fonctionnalités de l’extension seront définies).

Etape 2 : donner vie à votre plugin WordPress

Si le titre de votre script PHP est déjà défini, vous pouvez commencer à programmer les différentes fonctionnalités de votre plugin WordPress. Pour cela, vous pouvez par exemple utiliser les extraits de code précédents, qui ont été ajoutés au dossier functions.php. Découvrez ci-dessous comment un code court a été inséré dans le fichier PHP et comment il peut être intégré avec Google Maps :

<?php
/*
Plugin Name : NOM DU PLUGIN 
Plugin URI : LIEN VERS LE PLUGIN 
Description : DESCRIPTION DU PLUGIN
Version : 1.0
Author : VOTRE NOM 
Author URI : LIEN VERS VOTRE PAGE D’ACCUEIL 
License : GPLv2
*/
/* Shortcode – Google Maps Integration */
function fn_googleMaps($atts, $content = null) {
   extract(shortcode_atts(array(
      "width" => 640,
      "height" => 480,
      "src" => ''
   ), $atts));
   return '<iframe width="' . $width . '" height="' . $height . '" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="' . $src . '&amp;output=embed"></iframe>';
}
add_shortcode("googlemap", "fn_googleMaps") ;
?>

Par la suite, ajoutez le code d’intégration à l’attribut src, que vous aurez obtenu par Google Maps (« partager ou ajouter la carte »). L’onglet « Maps » est accessible en tout temps dans le menu de navigation et peut être activé avec le code correspondant tout au long du projet Web.

La programmation avec WordPress : une question d’entraînement

Cet exemple démontre qu’il n’est pas nécessaire d’être expert en PHP pour développer un plugin WordPress. Néanmoins, la démarche à effectuer exposée ci-dessus se caractérise par sa simplicité. Il existe des plugins bien plus complexes et plus longs à développer, qui nécessitent l’utilisation de plusieurs langages de script. Ces plugins élaborés requièrent une méthode de travail structurée, afin d’éviter les sources d’erreur ou du moins en permettre une identification rapide. Veillez dès le départ à ce que le code soit concis et les commentaires pertinents, afin que les fonctionnalités du plugin soient expliquées clairement. Le nom du plugin doit également être parlant et surtout unique.

Pour approfondir vos connaissances sur la programmation de plugins WordPress, nous vous recommandons de consulter le forum sur le développement Web de WordPress (en anglais). Découvrez également le WordPress Plugin Developer qui aidera les novices tout comme les experts à bénéficier de conseils utiles ou d’outils d’aide au développement.