Distribuer un plugin Wordpress
Maintenant que votre plugin fonctionne, il a peut être vocation à être redistribué à la communauté ! Pour cela, rien de plus simple, cet article a vocation à vous expliquer comment vous y prendre.
Règles pour déployer un plugin wordpress
Si je lis correctement le site officiel, le plugin :
- doit être juridiquement compatible avec la version 2 de la licence GPL, en clair, il doit être open source,
- doit être légal...
- doit être hébergé sur le dépôt subversion de Wordpress; si vous n'êtes pas encore familiarisé avec subversion (SVN), il est temps de vous y mettre !
- ne doit pas contenir de lien vers un site externe sans l'accord préalable de la personne qui l'installe (c'était peut-être votre but, c'est râté ;))
- si vous ne spécifiez pas de licence (compatible GPLv2), la licence sous laquelle vous distribuez votre plugin Wordpress sera GPLv2.
Déroulement
- Inscrivez vous,
- Soumettez votre plugin,
- Après un certain temps, on validera (ou non) votre plugin et vous aurez accès au dépot subversion Wordpress,
- Un fois votre plugin déposé (avec un fichier readme readme.txt), ce sera bon !
Il faut idéalement faire en sorte que votre fichier readme respecte le standard wordpress des fichiers readme.txt.
Pour le reste j'expliquerai plus tard lorsque le wp_jschat sera dans le tuyau !
Ce tutoriel touche à sa fin, vous n'êtes plus seulement un cliqueur de plugin, vous les développez, et je vous en félicite !
Si une partie vous a paru obscure ou mal expliquée, n'hésitez pas à réagir dans les commentaires de la page concernée. En tout cas, merci de votre lecture :)
Si grâce à ces cours, vous avez été en mesure de développer un plugin, contactez-moi, je serai ravi d'en faire la pub !
Développement d'un plugin wordpress :
-
Plugin chat Javascript pour Wordpress
Ce plugin de chat Javascript pour wordpress est distribué sous licence GPLv2, il est surtout développé à titre d'exemple dans le cadre d'un cours sur la création d'un plugin Wordpress.
-
Créer un plugin Wordpress 3.X
Créer un plugin Wordpress 3.X
-
Structure des plugins Wordpress
Tous les plugins wordpress seront installés dans le répertoire wp-content/plugins. Certains plugins peuvent se limiter à l'inclusion d'un seul fichier PHP, mais il est recommandé de toujours créer un dossier pour stocker les plugins....
-
Actions
Après avoir défini la structure de notre plugin wordpress, nous pouvons ajouter des actions, dans cet exemple, nous allons ajouter un bout de code qui va s'exécuter dans la balise <head> du blog Wordpress.
-
Filtres
Les filtres wordpress sont les fonctions que votre plugin peut accrocher dans le but de modifier le texte de sortie. Ce texte de sortie est généralement formaté et inséré dans une base de données, et montré à l'écran à l'utilisateur.
-
Créer le panneau d'administration d'un plugin wordpress
Tous les plugins devraient idéalement posséder un panneau d'administration. Créer ce panneau d'administration n'est pas très complexe, c'est donc un peu pénible de la part des auteurs de plugin de demander à leurs utilisateurs d'éditer eux-mêmes le code PHP (Ce qui n'est généralement pas une bonne idée).
-
Création d'une widget Wordpress
Nous allons maintenant créer une widget sous forme de plugin. Les widgets wordpress permettent d'insérer des parties de code facilement sous forme de bloc pour l'utilisateur final. Elles peuvent être ensuite ajoutées dans les barres d'outils prédéfinies selon les thèmes que vous utilisez.
-
Plugin - créer un panneau utilisateur
Il peut y avoir des situations où les utilisateurs peuvent être amenés à gérer leurs propres paramètres pour votre plugin : dans le cas de notre projet de chat Javascript, nous allons permettre d'une part aux utilisateur d'afficher ou non le chat, et d'utiliser les smileys ou non.
-
Installation/Désinstallation base de données | plugin Wordpress
Maintenant que nous savons créer des panneaux d'administration et des panneaux utilisateurs, nous allons attaquer l'accès au model : en interagissant avec la base de données. C'est une partie très importante du tutoriel wordpress, car lorsque l'on écrit un plugin, on a dans la majorité des cas besoin de stocker des données dans une base.
-
Traitement et affichage des requêtes dans base de données wordpress
C'est bien joli d'avoir nos tables dans base de données, maintenant, nous allons afficher les résultats de nos insertions.
-
Inclure les fichiers Javascript dans le header
Dans le cadre de notre application, nous aurons besoin d'inclure des fichiers Javascript dans le header des pages de notre blog Wordpress. Nous pourrions bien entendu le faire en ajoutant sauvagement du code HTML au fichier de template, mais on va éviter :)
-
Inclure les feuilles de style CSS
-
Ajax et les plugins Wordpress
Ajax est un protocole qui permet d'envoyer des requêtes http à partir de Javascript, si vous n'êtes pas familier avec ce protocole, vous pouvez en savoir plus sur cet article sur Ajax xmlHttpRequest.
-
Internationalisation du plugin
Depuis le début de cette suite d'articles, nous utilisons systématiquement les fonctions e() et __() pour afficher du texte. Nous l'avions déjà évoqué au cours d'articles précédents : c'est dans le but d'internationaliser notre plugin. Tous les textes pourrons ainsi être traduits par les utilisateurs de votre plugin dans des fichiers de langue.
-
Création de shortcode/bbcode Wordpress
Nous pouvons déjà créer des pages personnalisées grâce aux filtres wordpress, cependant, dans le cadre de notre plugin, il peut être intéressant d'ajouter des fenêtres de chat dans les pages de notre blog.
-
Distribuer un plugin Wordpress
Maintenant que votre plugin fonctionne, il a peut être vocation à être redistribué à la communauté ! Pour cela, rien de plus simple, cet article a vocation à vous expliquer comment vous y prendre.
Partagez cet article !
Vous avez apprécié cet article ?
Ajouter un commentaire
Un grand merci à vous pour ce tuto qui m'a permis de développer mon 1er plugin : http://...sidenails/
Par contre, il me semble qu'il y a une fonction à utiliser pour éviter les failles XSS lors de l'insertion des données en BDD. La connaissez-vous ? Je n'ai pas réussi à mettre la main dessus...
Merci :)
Merci en tout cas :)