Page d'accueil du Codex en français - Télécharger WordPress en français
Les utilisateurs francophones se retrouvent sur le site WordPress-Francophone, notamment sur son forum d'entraide.
L'objectif principal de l'utilisation des plugins est de maintenir le noyau de Wordpress intact, dans un soucis de stabilité et de mise à jour des futures versions.
Un plugin WordPress est un programme, écrit en langage PHP, permettant d'ajouter des fonctionnalités personnalisés à Wordpress.
Veillez à ce que le nom de votre plugin soit unique (voir la liste des plugins déposés Plugins ) La plupart des développeurs choisissent un nom en rapport avec la description du plugin, ce nom peut avoir plusieurs mots.
Encore une fois, choisissez un nom unique (pour éviter les conflits de doublons) en utilisant la convention de nommage des variables: - 1ère lettre en minuscule. - Majuscule avec la première lettre de chaque mot. - ex: superPlugin.php
Votre plugin peut contenir plusieurs fichiers, dans ce cas il faut mettre ces fichiers dans un répertoire du même nom que votre fichier principal. ex: wp-content/plugins/superPlugin/superPlugin.php...
Si vous voulez diffuser votre plugin sur le site de wordpress http://wordpress.org/extend/plugins/, vous devez créer un fichier readme.txt dans un format standardisé, et l'inclure dans votre plugin. Voir http://wordpress.org/extend/plugins/about/readme.txt pour une description du format à respecter.
Votre fichier php principal doit contenir en en-tête, les informations concernant votre plugin. Celui-ci permettra à wordpress de localiser son existence, il pourra ainsi être activé dans l'administration des plugins. Sans cet en-tête, votre plugin ne pourra pas fonctionner
Exemple:
<?php /* Plugin Name: Nom du Plugin Plugin URI: http://adresseContenantLesInfosSurVotrePlugin Description: Courte description du plugin. Version: La version du plugin. Author: Nom de l'auteur Author URI: http://siteWebAuteur */ ?>
Faites suivre l'en-tête du fichier par les informations de licence. Dans la plupart des cas les plugins sont développés sous GPL GPL ou bien compatible with the GPL.
Pour cela utilisez la convention suivante:
<?php /* Copyright ANNEE NOM_AUTEUR_DU_PLUGIN (email : EMAIL_AUTEUR) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ ?>
Beaucoup de plugins accomplissent leurs tâches en se connectant à un ou plusieurs évènement de WordPress via les "hooks". La manière dont fonctionne les "hooks" est la suivante : chaque fois qu'un évènement ou qu'une action est réalisés, WordPress vérifie si une fonction a été enregistré par un plugin sur cette évènement et l'exécute le cas échéant. Ces fonctions modifie donc le fonctionnement de WordPress.
Par exemple, avant d'ajouter le titre d'un article dans le navigateur, WordPress va vérifier si un plugin a enregistré une fonction pour le "filtre" appelé "the_title". Si c'est le cas, le texte du titre est passé à chaque fonction enregistrés et le résultat final est affiché. Par conséquent, si votre plugin a besoin d'ajouter des information au titre affiché, il peut enregistre une fonction de filtrage sur "the_title".
Un autre exemple est "l'action" appelé "wp_footer". Juste avant de générer la fin d'une page HTML, WordPress vérifie si une fonction a été enregistré par un plugin sur l'action "wp_footer" et l'exécute le cas échéant.
Vous pouvez en apprendre plus sur les "actions" et les "filtrer" dans Plugin API. Si vous trouver un endroit dans le code de WordPress où vous voudriez voir une action ou un filtre mais que WordPress ne les fournit pas vous pouvez également suggérer un nouvel "hook" (les suggestion sont généralement prisent en compte); voyez Reporting Bugs pour ça.
Un autre moyen pour un plugin d'ajouter une fonctionnalité à WordPress consiste à créer un Template Tags. Celui qui voudra alors utiliser votre plugin pourra ajouter ce "tag" dans son thème, dans la sidebar, la section de contenue des articles, ou n'importe où cela est approprié. Par exemple, un plugin qui ajouterai des tags géographique aux articles devra définir une fonction de template tag appelée geotag_list_states() pour la sidebar, qui liste tout les états qui sont taggé avec l'article, avec des liens sur la page archive des états que le plugin active.
Pour définir un template tag, il suffit d'écrire et de documenter une fonction PHP dans la page principal de votre plugin. Il est également bon en plus de la documentation d'une fonction de donner un exemple de ce qu'il est réellement nécessaire d'ajouter au fichier du thème pour utiliser la fonction en incluant <?php et ?>.
Beaucoup de plugins auront besoin de récupérer des données et de les sauver entre deux sessions, pour les utiliser avec des fonction de filtrage, d'actions ou encore de template. Ces information devront être sauvegardé dans la base de données de WordPress. Il existe deux méthodes basiques pour la sauvegarde des données :
Voyez Creating Options Pages pour savoir comment créer une page qui sauvegardera automatiquement vos options pour vous.
WordPress possède un mécanisme de sauvegarde, de mise à jour et de récupération des options dans la base de données. Les valeurs des options peuvent être des chaines, des tableaux ou des objets PHP (qui seront sérialisé ou convertie en chaine avant la sauvegarde et désérialisé pour la récupération). Le nom des options sont des chaine et doivent être unique afin d'éviter tout confit avec WordPress ou d'autre plugins.
Le code suivant est un exemple de fonction principale que votre plugin pourrait utiliser pour accéder aux options de WordPress.
add_option($name, $value, $description, $autoload);
get_option($option);
update_option($option_name, $newvalue);
Si votre plugin stock des données dans la base de WordPress (voir section précédente), il sera probablement nécessaire d'avoir un panneau d'administration afin de voir et d'éditer ces options. Les méthodes pour faire ceci sont décrite dans Adding Administration Menus.
Once you have the programming for your plugin done, another consideration (assuming you are planning on distributing your plugin) is internationalization. Internationalization is the process of setting up software so that it can be localized; localization is the process of translating text displayed by the software into different languages. WordPress is used all around the world, so it has internationalization and localization built into its structure, including localization of plugins. For background on WordPress's use of GNU gettext for localization, see Translating WordPress.
It is highly recommended that you internationalize your plugin, so that users from different countries can localize it. The process is fairly straightforward:
$fabfunc_domain = 'fabfunc'; $fabfunc_is_setup = 0; function fabfunc_setup() { global $fabfunc_domain, $fabfunc_is_setup; if($fabfunc_is_setup) { return; } load_plugin_textdomain($fabfunc_domain, 'wp-content/plugins'); }
If your plugin is in its own subdirectory, append that to the second argument of load_plugin_textdomain.
If you are reading this section because you want to internationalize a Theme, you can basically follow the steps above, except:
load_theme_textdomain('your_domain');
This last section contains some random suggestions regarding plugin development.