web-dev-qa-db-fra.com

Comment ne pas autoriser les rôles personnalisés à modifier des types de publication personnalisés publiés?

J'ai un site WP avec un rôle personnalisé (réviseur) et un type de publication personnalisé (événements).

Ce que je voudrais faire est de permettre à mes réviseurs d’ajouter de nouveaux événements, mais pas d’éditer ceux qui existent déjà.

J'utilise déjà le plug-in Membres, et je n'ai pas coché 'edit_published_events', mais les utilisateurs peuvent toujours éditer les événements.

Je pense que le problème est que j'ai un autre CPT que je veux laisser les éditer (appelé listages), donc je ne peux pas complètement restreindre 'edit_posts' dans les capacités.

Des idées sur la façon dont je peux simplement supprimer l'option d'édition d'un CPT publié? J'ai lu un message sur la suppression de l'option "modifier" qui apparaît lorsque vous survolez son nom dans la liste, mais en cliquant sur le message, vous pouvez toujours modifier ...

Merci!!!

3
Aaron

Quelque chose comme ça (non testé)

add_action( 'init', 'remove_revisor_cap_edit_posts' ); 

function remove_revisor_cap_edit_posts() {

if ( 'events' == get_post_type() ) {

$role = get_role( 'revisor' );
$role->remove_cap( 'edit_posts' );
    }
}
1
Brad Dalton