Catégorie « WordPress »

Plugin Post-lister pour Wordpress - version 0.4

Je viens de taguer la version 0.4 de mon plugin Post-lister avec pas mal de petites nouveautés.

La première et la plus importante fait suite à la demande d'Adrian et ajoute de deux nouveaux paramètres permettant d'afficher le contenu des articles et commentaires listés ainsi que l'avatar de l'auteur.

On a ensuite plusieurs améliorations plus mineures :

  • suite à la question de Sandrine, j'ai mis à jour la documentation en listant les options de tris propres à chaque liste et pour faciliter la configuration des widgets, j'ai remplacé le champ texte par un menu déroulant, ce qui évite d'avoir à retenir lesdits paramètres.
  • comme je trouvais les formulaires de configuration des widets un peu hauts, je les ai tous les deux découpés en deux colonnes ce qui évite d'avoir à "scroller" pour en voir le bout.
  • j'ai également complété les liens vers les commentaires dans les listes de commentaires pour qu'ils pointent sur le commentaire en lui-même (via l'ancre prévue à cet effet dans les thèmes bien faits) plutôt que bêtement vers le haut de la page de l'article associé.
  • j'ai enfin corrigé un bug qui faisait que si l'on cliquait sur le bouton "annuler" du formulaire de l'un des widgets puis qu'on enregistrait les modification, le widget perdait l'ensemble de ses configurations.

Par ailleurs j'ai également un peu revu la doc et rajouté un fichier readme en français.

Voilà voilà, c'est tout pour cette mise à jour mais ça me semble déjà pas mal ^^


Bien coder son plugin WordPress

WordPress c'est bien, y a plein de plugins dans le repository qui font un peu tout ce qu'on peut imaginer. Le hic c'est que bien trop souvent, quand on en installe un, ben ça marche pas ou alors ça marchotte puis ça s'effondre un beau jour suite à l'installation d'un autre plugin ou encore on perd une partie des configuration suite à une mise à jour... Ceci arriverait beaucoup moins souvent, si certaines lignes de conduite étaient plus souvent suivies.

Voici donc quelques recommandations à suivre pour développer un plugin WordPress. C'en sont quelques une parmi d'autres, vos plugins ne seront pas parfaits juste parce que vous aurez suivi ces recommandations, bien entendu, mais ça évitera certains problèmes à vos utilisateurs...

Intégration de jQuery

jQuery permet d'effectuer de nombreuses opérations avec du code synthétique et surtout multi-navigateur, c'est bien, mangez-en. Par contre, dans les plugins WordPress c'est souvent intégré n'importe comment.

Déjà, WordPress inclut jQuery de base, donc nul besoin de le joindre au plugin.

Ensuite, inclure jQuery "à la main" via une balise script en dur, quand le plugin est tout seul, ça marche bien. Si un autre exploite directement jQuery sans extension, la page est plus lente parce que jQuery est chargé plusieurs fois mais ça marche aussi. Par contre dès qu'un plugin utilise des extensions de jQuery, là c'est moins cool : en effet, pour peu que ce plugin ne soit pas le dernier à être appelé, l'extension a toutes les chances d'être écrasée lors d'un autre chargement de jQuery... Et cela peut ne se produire que sur certaines pages selon les plugins, donc ça peut être difficile à détecter.

Heureusement, WordPress propose une fonction bien pratique qui permet d'intégrer des javascript sans écrire directement la balise script et surtout en indiquant des dépendances, ce qui évite les scripts inclus dans le mauvais ordre. Cette fonction s'appelle wp_enqueue_script et est définie dans le fichier wp-include/functions.wp-scripts.php.

En particulier, pour inclure jQuery il suffit d'appeler : wp_enqueue_script('jquery');

Et accessoirement, préférez un appel à l'objet jQuery plutôt qu'un appel à $ dans votre code, car si un autre plugin inclut une bibliothèque qui utilise aussi le $, ben... kaboum !

Ne pas gêner les mises à jour

Lorsqu'on met un plugin à jour, le dossier qui le contient est remplacé par la nouvelle version. En conséquence, si des fichiers ont été ajoutés ou modifiés dans ce dossier, ils seront écrasés par la mise à jour.

Cette pratique donc est à éviter absolument. Préférez une écriture en base de données, là aucun problème en cas de mise à jour :


Corrections pour le plugin "Subscribe to Comments"

Suite à la demande de Nikohk, Je viens d'installer le plugin Subscribe to Comments.

Comme souvent quand on installe un plugin WordPress, il faut mettre la main dans le cambouis si on veut que ça tourne correctement... Là je me suis limité à faire en sorte que la traduction Française soit correctement prise en compte (et au passage de la compléter avec les quelques clés qui manquaient). L'ensemble est récupérable ici (le fichier de traduction seul est directement téléchargeable ici), avis aux amateurs. J'ai posté mes modifications en commentaire sur le site de l'auteur du plugin, donc avec un peu de chance elles seront prises en compte par la prochaine version...

Sinon, j'ai pas poussé trop loin les tests sur le reste du plugin, espérons qu'il marche bien...

Et au passage, j'ai aussi mis à jour WordPress en version 2.7 et ajouté également le plugin Ajax Edit Comments.


Plugin Post-lister pour Wordpress - version 0.2

Je viens de mettre en ligne la version 0.2 de mon plugin post-lister avec quelques nouveautés :

  • gestion de listes de commentaires en plus des listes d'articles.
  • séparation de l'attribut showdate en deux attributs distincts showdate et showtime.
  • importante refactorisation du code pour utiliser le générateur de plugin que j'ai commencé à développer (et qu'il serait bien que je continue un jour, d'ailleurs...).
  • diverses petites corrections.

N'hésitez pas à tester cette nouvelle version et à me remonter les bugs éventuels !

J'ai fait la demande pour l'intégration au repository officiel, reste plus qu'à attendre la validation et traduire la doc en anglais...


Mon premier plugin WordPress dans le repository

Après d'abord plusieurs semaines d'attente de validation, puis deux semaines pour reprendre le temps de m'en occuper, je viens de "commiter" mon premier plugin (Open Search) dans le repository officiel WordPress.

Alors en passant, quelques remarques sur la façon dont ça fonctionne :

  • la récupération des informations a afficher dans la page du plugin est bizarre : certaines infos sont reprises de l'en-tête du fichier PHP principal du plugin, d'autres de fichier readme.txt... Alors qu'une partie est présente dans les deux... Pas très cohérent... J'aurais mieux vu l'ensemble pris dans le "readme" (c'est d'ailleurs ce que je pensais à l'origine).
  • je serais curieux de savoir pourquoi il n'affiche pas dans la page du plugin les onglets "Installation", "FAQ" et "Screenshots", alors qu'ils sont bien présents dans le fichier "readme"...
  • il semblerait bien que les infos affichées soient prises dans le "trunk" et non dans la dernière version stable... D'un côté c'est pas con parce que ça permet de les corriger sans "taguer" de nouvelle version exprès mais d'un autre côté ça veut dire que si on "commite" des modifications dans le trunk pour une nouvelle version, ben c'est ça qui va s'afficher alors que cette nouvelle version n'est pas celle qui est disponible en téléchargement par défaut, ce qui ne me semble pas très malin.

Bref, maintenant faut que je me motive pour finaliser la nouvelle version de Post-lister et traduire la doc pour pouvoir le publier aussi :p