Permissions de MailerPress

Une capacité WordPress est une permission nommée attribuée à un rôle. MailerPress ajoute ses propres capacités, chacune ouvrant une partie de l’extension (réglages, IA, campagnes, modèles, contacts, listes, étiquettes, segments ou automatisations) : vous contrôlez ainsi ce que vos clients, votre équipe et vos administrateurs peuvent faire. Cet article les liste, explique comment elles sont attribuées et comment les modifier durablement.

Les capacités font partie de MailerPress (gratuit). L’écran Contrôle d’accès, qui permet de les modifier sans code, nécessite MailerPress Pro 2.1.0 ou une version ultérieure.

Liste des capacités

Par défaut, un rôle reçoit une capacité MailerPress lorsqu’il possède la capacité WordPress correspondante (colonne Basée sur). La dernière colonne indique le résultat pour les rôles WordPress standards. Les rôles personnalisés suivent la même règle.

CapacitéLibellé dans Contrôle d’accèsBasée surRôles par défaut
mailerpress_manage_settingsGérer les réglagesmanage_optionsAdministrateur
mailerpress_use_aiUtiliser l’IAmanage_optionsAdministrateur
mailerpress_manage_campaignsGérer les campagnesedit_postsAdministrateur, Éditeur, Auteur, Contributeur
mailerpress_edit_others_campaingsModifier les campagnes des autresedit_others_postsAdministrateur, Éditeur
mailerpress_publish_campaignsPublier les campagnespublish_postsAdministrateur, Éditeur, Auteur
mailerpress_delete_email_campaignsSupprimer les campagnesdelete_postsAdministrateur, Éditeur, Auteur, Contributeur
mailerpress_manage_templatesGérer les modèlesedit_themesAdministrateur
mailerpress_manage_contactsGérer les contactsedit_others_postsAdministrateur, Éditeur
mailerpress_delete_contactsSupprimer les contactsmanage_optionsAdministrateur
mailerpress_manage_listsGérer les listesmanage_categoriesAdministrateur, Éditeur
mailerpress_delete_listsSupprimer les listesmanage_categoriesAdministrateur, Éditeur
mailerpress_manage_tagsGérer les étiquettesmanage_categoriesAdministrateur, Éditeur
mailerpress_delete_tagsSupprimer les étiquettesmanage_categoriesAdministrateur, Éditeur
mailerpress_manage_segmentationGérer la segmentationedit_others_postsAdministrateur, Éditeur
mailerpress_manage_automationsGérer les automatisationspublish_postsAdministrateur, Éditeur, Auteur

Attention à l’orthographe de mailerpress_edit_others_campaings : c’est le nom exact enregistré dans WordPress. En PHP, vous pouvez utiliser à la place les constantes de la classe \MailerPress\Core\Capabilities (par exemple Capabilities::EDIT_OTHERS_CAMPAIGNS ou Capabilities::USE_AI).

Ce que chaque capacité ouvre dans l’administration

  • Tableau de bord : n’importe quelle capacité MailerPress.
  • Nouvelle campagne et Campagnes : mailerpress_manage_campaigns.
  • Éditeur d’e-mail : mailerpress_manage_campaigns, mailerpress_manage_templates, mailerpress_manage_automations ou mailerpress_manage_settings.
  • Audience : mailerpress_manage_contacts, mailerpress_manage_lists, mailerpress_manage_tags, mailerpress_manage_segmentation ou mailerpress_manage_settings.
  • Modèles : mailerpress_manage_templates.
  • Automatisations : mailerpress_manage_automations.
  • Intégrations, Crochets web, Outils, Réglages et Licence : mailerpress_manage_settings.
  • Fonctionnalités d’IA (MailerPress Pro) : mailerpress_use_ai. La génération d’automatisations avec l’IA nécessite aussi mailerpress_manage_automations.

L’onglet Contrôle d’accès lui-même nécessite les capacités WordPress manage_options et promote_users, et non une capacité MailerPress.

Quand MailerPress attribue les capacités

MailerPress attribue ses capacités à tous les rôles à l’activation et après chaque mise à jour de MailerPress. À chaque fois, il ajoute une capacité aux rôles qui possèdent la capacité WordPress correspondante et la retire aux autres.

Si vous modifiez les capacités de MailerPress avec une extension d’édition de rôles comme User Role Editor, la prochaine mise à jour de MailerPress peut donc annuler vos changements. Pour des changements durables, utilisez l’une des deux méthodes ci-dessous.

Modifier les capacités avec le contrôle d’accès (MailerPress Pro)

Allez dans MailerPress > Outils > Contrôle d’accès, cochez les permissions de chaque rôle et cliquez sur Enregistrer les réglages. Vos choix sont réappliqués après chaque mise à jour. Les rôles disposant de manage_options conservent toujours mailerpress_manage_settings. Consultez Gérer l’accès aux fonctionnalités de MailerPress par rôle WordPress.

Modifier les capacités avec du code

Utilisez le filtre mailerpress_role_capability_enabled (un crochet WordPress qui permet à votre code de modifier une valeur). MailerPress l’exécute pour chaque rôle et chaque capacité lorsqu’il attribue les capacités. Renvoyez true pour accorder la capacité, false pour la retirer. Cet exemple donne Utiliser l’IA au rôle Éditeur :

add_filter( 'mailerpress_role_capability_enabled', function ( $enabled, $role_name, $capability, $base_capability ) {
    if ( 'editor' === $role_name && 'mailerpress_use_ai' === $capability ) {
        return true;
    }
    return $enabled;
}, 20, 4 );
  • Ajoutez ce code dans une extension personnalisée ou une extension must-use (chargée en permanence par WordPress) pour qu’il soit toujours actif.
  • Le filtre ne s’exécute que lorsque les capacités sont attribuées. Pour l’appliquer tout de suite, désactivez puis réactivez MailerPress.
  • MailerPress Pro applique les choix du contrôle d’accès via le même filtre, en priorité 10. Avec la priorité 20, votre règle l’emporte.

Vérifier une capacité dans votre code

Utilisez la fonction WordPress standard :

if ( current_user_can( 'mailerpress_manage_contacts' ) ) {
    // L’utilisateur courant peut consulter, créer et modifier les contacts MailerPress.
}