web-dev-qa-db-fra.com

personnaliser le rôle de l'utilisateur wordpress - accorder l'accès à edit.php en tant qu'invité sans insérer/mettre à jour/supprimer

Je travaille sur un site sur lequel je souhaite montrer aux clients une version de démonstration d'un produit. Pour ce faire, ils peuvent se connecter avec un compte invité, j'ai créé ce rôle comme suit

add_role('guest', __('Guest'),
    array(
          'read'    => true
    )
);

Lorsque je me connecte en tant qu'invité, je suis redirigé vers la page de présentation /admin.php?page=my_overview. Cela fonctionne donc, mais lorsque l'invité clique sur un élément de cette vue d'ensemble, je reçois un message disant: Vous n'avez pas la permission d'accéder à cette page.

Ces éléments font référence à des pages telles que: /profile.php /edit.php /users.php /admin.php Etant donné que l’utilisation de ces pages est une partie fondamentale de la fonctionnalité de mes produits, je souhaite accorder la compte invité accéder à ces pages, mais ne les laissez pas insérer/mettre à jour/supprimer les données qui sont affichées sur ces pages.

J'ai essayé d'ajouter plusieurs privilèges différents, à savoir edit_posts, edit_private_posts, edit_private_pages, read_private_posts, read_private_pages, mais je ne parviens pas à le faire fonctionner correctement.

Je voudrais atteindre ce compte invité avec des autorisations spécifiques sans l'utilisation d'un plugin. En gros, je veux créer un utilisateur qui peut faire la même chose qu'un auteur, mais sans INSERT/UPDATEs/DELETE sur mon site de démonstration dans la base de données

Je ne sais pas si c'est même possible, mais toute aide serait la bienvenue.

1
K. Tromp

Une fois que vous avez créé le nouveau rôle, vous devez l'ajouter à l'aide de add_cap. Cliquez ici pour plus d’informations: https://codex.wordpress.org/Function_Reference/add_cap

Je pense que dans votre cas particulier, vous pouvez répliquer un auteur, puis supprimer certaines fonctionnalités en utilisant remove_caphttps://codex.wordpress.org/Function_Reference/remove_cap

0
TomC