Comment créer un site Web ou un blog en 2020 - Guide gratuit et facile pour créer un site Web

Comment afficher du contenu basé sur des rôles d’utilisateur WordPress

Lors de la création d’un site Web WordPress, il est souvent utile de fournir du contenu ou des fonctionnalités en fonction du rôle ou des capacités d’un utilisateur. Par exemple, vous souhaiterez peut-être afficher du contenu spécial sur votre site, mais uniquement pour les administrateurs. Ce n’est là qu’une des nombreuses possibilités.

Il est très utile que WordPress dispose d’une fonction intégrée pour vous aider. La fonction current_user_can () vous permet de vérifier les autorisations des utilisateurs connectés. Sur la base de ces informations, vous pouvez leur fournir tout ce que vous souhaitez. Inversement, vous pouvez également désactiver certains éléments également.

En continuant avec l’exemple de contenu spécial mentionné ci-dessus, nous allons plonger dans quelques extraits de base qui nous permettent d’ajouter cette fonctionnalité.

Exemple 1: administrateurs uniquement

Dans cet exemple, nous vérifierons si l’utilisateur connecté qui visite notre page est un administrateur de site. Si c’est le cas, un petit message de bienvenue s’affiche.

Avant d’entrer dans le code, il convient de noter qu’il existe plusieurs façons de vérifier les autorisations d’un utilisateur. WordPress Codex indique que nous pouvons fournir un rôle d’utilisateur existant dans la fonction current_user_can (), mais ce n’est pas recommandé. Il peut y avoir des inexactitudes entraînant un problème.

Au lieu de cela, nous pouvons utiliser les capacités de ce rôle d’utilisateur particulier. Il existe une liste complète des capacités de chaque rôle d’utilisateur dans Codex. Ainsi, au lieu de vérifier si l’utilisateur est un administrateur, nous pouvons vérifier s’il a une capacité spécifique, telle que l’activation du plugin.

Maintenant, regardons un code. Les éléments suivants apparaîtront dans le modèle de thème de votre choix.


          

Howdy, Administrator!

Dans ce cas, nous vérifions si l’utilisateur peut activer des plugins, ce que seuls les administrateurs (et, dans les installations multi-sites, les super administrateurs) ont la capacité de faire.

Exemple 2: soyons personnels avec les membres

Alors que le premier exemple montre un message générique, nous pouvons également créer une expérience plus personnalisée. Ceci est particulièrement important si vous utilisez un site d’adhésion. Aidez à créer ce sentiment supplémentaire de communauté.

Ici, nous ajouterons un message personnel qui comprend le nom d’utilisateur. Nous pouvons tirer parti de ces informations via la fonction get_current_user (). Nous supposerons également que nos membres se voient attribuer le rôle d’abonnés au sein de WordPress.


          

Howdy, user_firstname; ?>! Thanks for being a part of our community.

BTW, la capacité de lire un article est la capacité de niveau le plus bas dans WordPress. Par conséquent, il s’applique à tous les niveaux d’utilisateurs, pas seulement aux abonnés. Cela garantit seulement que nous n’avons laissé personne de côté.

Au-delà de la vérification de la lisibilité, nous affichons également le nom de l’utilisateur dans le message. Cependant, il existe plus de possibilités concernant les données utilisateur qui pourraient être ajoutées au mélange.

Exemple 3: un en-tête personnalisé, basé sur les capacités des utilisateurs

Pour notre dernier exemple, faisons quelque chose d’un peu plus dramatique. Nous proposerons différentes rubriques thématiques, selon les capacités d’un utilisateur.

Grâce à la fonction get_header (), WordPress permet l’utilisation de plusieurs fichiers d’en-tête. Et les afficher en fonction des conditions d’utilisation peut être très utile. Par exemple, un membre du site pourrait bénéficier d’un en-tête hautement personnalisé. Les non-membres pourraient voir quelque chose de plus générique.

Dans notre code, nous vérifierons si nos utilisateurs ont des capacités de lecture. Et nous ajouterons également une vérification supplémentaire pour vous assurer qu’ils sont connectés, via is_user_logged_in (), juste au cas où.

Si vous utilisez ce code dans un projet, il remplacerait tout au long de vos modèles.


          



          


Ci-dessus, nous vérifions si l’utilisateur a les bonnes capacités et s’il est vraiment connecté. Si les deux éléments renvoient true, un fichier d’en-tête personnalisé s’affiche. Sinon, l’en-tête par défaut de notre thème sera affiché.

Une opportunité d’en faire plus pour les utilisateurs

Les exemples ci-dessus ne sont que de petits moyens d’améliorer l’expérience utilisateur. Mais il est également possible d’en faire beaucoup plus. Vraiment, la seule limitation est votre propre imagination!

Ainsi, la prochaine fois que vous créerez un site WordPress, cherchez des moyens de fournir aux utilisateurs des fonctionnalités en fonction de leurs rôles et capacités. Ils apprécieront l’effort et vous aurez créé un site Web plus complet.