vendredi 25 septembre 2026

À propos

Contact

Lexique · Cœur de WordPress

Capacité

En anglais : « Capability »

Une capacité est une permission précise, comme modifier des articles ou gérer les réglages, attribuée à un rôle pour autoriser ou refuser une action.

Plutôt que de vérifier si un utilisateur est « administrateur » ou « éditeur », WordPress raisonne en termes d’autorisations unitaires : peut-il publier un article, supprimer un utilisateur, installer un plugin ? Chacune de ces autorisations porte un nom précis.

Fonctionnement dans WordPress

Une capacité est une chaîne de caractères, par exemple edit_posts, manage_options ou publish_pages, associée à un ou plusieurs rôles. Dans le code, on ne teste jamais un rôle directement : on interroge la capacité via current_user_can(), ce qui permet de modifier finement les autorisations sans casser la logique du thème ou du plugin.

Exemple

if ( current_user_can( 'edit_others_posts' ) ) {
    // Afficher le lien vers tous les brouillons, pas seulement les siens
}

Pièges fréquents

  • Certaines capacités sont « méta » (edit_post au singulier) et doivent être testées avec l’ID de l’objet concerné : current_user_can( 'edit_post', $post_id ).
  • Ajouter une capacité à un rôle via add_cap() modifie la base de données de façon permanente ; il faut la retirer explicitement à la désactivation du plugin qui l’a créée.

Bon à savoir

Un même nom de capacité peut désigner deux réalités différentes selon le contexte de l’appel : la capacité « primitive » brute stockée en base, ou la capacité « méta » qu’un filtre map_meta_cap traduit à la volée en une combinaison de plusieurs vérifications, comme pour la suppression d’un article publié par un autre auteur.

Il existe aussi des capacités globales qui n’ont de sens qu’à l’échelle du réseau entier en Multisite, telles que manage_network ou manage_sites, réservées de fait au Super Administrateur et invisibles pour les rôles habituels d’un site individuel.