#bbPress Avatar : ajoutez un système de gestion interne des Avatars à votre outil de forum préféré

Crédits Photo : Etsy avatars by jared, on Flickr

Voici mon tout premier plugin 100% bbPress. Il y a un certain temps, je vous avais proposé un plugin pour ajouter un système de topics support, mais je l’avais construit dans le cadre du composant des forums de BuddyPress.

Je m’intéresse de plus en plus à bbPress, c’est pour moi une magnifique source d’inspiration. Je conseille à toute personne désireuse de se lancer dans la conception de plugins WordPress de plonger dans les sources de bbPress, vous en apprendrez beaucoup sur le sujet.

Le profil bbPress (front-end)

S’il est vrai qu’il existe pas mal de plugins sur le repository officiel de WordPress qui proposent des fonctionnalités équivalentes à mon plugin, je n’ai pas trouvé la fonctionnalité dont mon projet professionnel avait besoin. Il s’agit d’un projet Intranet, et dans cet environnement, il n’est pas forcément habituel pour les collaborateurs de disposer d’un fichier image destiné à les représenter. Du coup on m’a demandé de prévoir un système de suggestion d’avatars. Autre point lié à l’intranet et qui a été le point de démarrage de la conception de ce plugin, c’est que bien souvent les appels à Gravatar sont neutralisés 🙁

Suggestions d’avatars depuis la media library

Une autre chose qui me tenait à coeur était d’utiliser le nouveau media uploader de WordPress côté front, et d’ailleurs d’éviter de ramener l’utilisateur dans le back office pour gérer son profil et donc son avatar. L’avantage avec bbPress, c’est que tout participant au forum dispose d’un profil du côté front qui liste ses différents topics, réponses, favoris et souscriptions au forum. Un éditeur de profil est également disponible à partir duquel le participant peut modifier les éléments de son compte. C’est dans cette zone que mon plugin a établit son périmètre d’action.

Ensuite, j’ai noté que la WP Admin Bar du blog contenait un lien vers le profil utilisateur au sein de l’administration de WordPress. Avant toute chose, j’ai donc ajouter un filtre au sein de mon plugin qui vérifie si on se situe côté front ou admin. En fonction des réglages bbPress de l’administrateur du blog, côté front, le lien pointera vers le profil bbPress, côté admin, il pointe vers le profil WordPress.

L’aperçu de l’avatar, une fois téléchargé.

Ainsi, bbPress Avatar propose un bouton pour lancer le media uploader afin de permettre à l’utilisateur de télécharger son image et disposer d’un contrôle totale sur cette dernière pour éventuellement l’éditer ou la supprimer. Si toutefois il n’a pas d’image sous la main, il peut lister les suggestions d’avatars en cliquant sur le lien de la bibliothèque de média de l’uploader. Rassurez-vous toutes les images du blog n’apparaîtront pas à ce moment de la partie. Les seules qui apparaîtront seront les suggestions qui seront attachés à un article en particulier.

En effet, lors de sa première installation, le plugin crée un article brouillon pour servir de parent à tous les avatars qui seront téléchargés. Cette technique me permet de faire en sorte que l’auteur (en l’occurrence, celui qui a activé le plugin, donc l’administrateur) de cet article parent, puisse lui attacher les fameuses suggestions d’avatar, tout en neutralisant l’éventuel avatar que lui même aurait téléchargé pour le représenter. Vous me suivez ? Lorsque le participant listera les avatars depuis l’uploader, il recevra l’éventuel avatar dont il est propriétaire et les suggestions d’avatar. Il ne verra donc pas les avatars des autres utilisateurs.

Enfin, j’ai souhaité que ce plugin s’intègre un maximum à bbPress, il attend donc que bbPress soit prêt et complètement chargé avant de démarrer son exécution. Les réglages du plugin sont disponibles au sein d’une section dédiée des réglages de bbPress et du côté programmation, il s’accroche à l’argument extend de l’instance bbpress().

Etant donné le nombre conséquent de plugins du même type sur le repository, j’hésite à l’y faire héberger. Si vous pensez qu’il pourrait y remplir un rôle, n’hésitez pas à m’en faire part en commentaire (si au moins 10 commentaires le demandent, alors je soumettrai mon plugin à WordPress). En attendant, je vous propose de jouer avec la beta1 de ce plugin depuis mon repository Github.

NB : je me suis rendu compte que lorsqu’on éditait son profil du côté front, cela désactivait systématiquement la WP Admin Bar pour l’utilisateur. C’est un bug que j’ai fait remonter sur le trac de bbPress via ce ticket. Vous pouvez donc vous inspirer des patchs que j’ai déposé pour résoudre ce comportement qui peut agacer à la longue certains utilisateurs 😉

2 commentaires sur “#bbPress Avatar : ajoutez un système de gestion interne des Avatars à votre outil de forum préféré

Les commentaires sont fermés.