Je pensais que le rôle Auteur était uniquement autorisé à modifier les messages créés par cet auteur. Cela fonctionne dans Articles et Pages, mais j'ai créé un type d'article personnalisé et l'auteur peut modifier TOUS les articles de ce type d'article. Devez-vous faire quelque chose de spécial pour les types de publication personnalisés pour que le rôle d’auteur se comporte normalement?
J'ai essayé d'utiliser ce code, que j'ai trouvé sur une autre question, mais cela ne me l'a pas résolu:
function to_parse_query_useronly( $wp_query ) {
if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
if ( !current_user_can( 'publish_posts' ) ) {
global $current_user;
$wp_query->set( 'author', $current_user->id );
}
}
}
add_filter('parse_query', 'to_parse_query_useronly' );
Je vous remercie!
Vous devez déclarer vos capacités souhaitées lorsque vous enregistrez le type de publication.
L'article de Justin en est un bon exemple pour les types d'articles personnalisés: http://justintadlock.com/archives/2010/04/29/custom-post-types-in-wordpress
Lorsque vous enregistrez votre type de publication personnalisé, vous pouvez le définir comme une fonctionnalité standard pour les publications, par exemple:
'capability_type' => 'post',
ou être des capacités standard pour les pages, par exemple.
'capability_type' => 'page',
ou définissez votre propre type de capacité, avec des contrôles globaux, ou accédez directement aux contrôles spécifiques via un tableau spécifique, par exemple.
/* Global control over capabilities. */
'capability_type' => 'super_duper',
/* Specific control over capabilities. */
'capabilities' => array(
'edit_post' => 'edit_super_duper',
'edit_posts' => 'edit_super_dupers',
'edit_others_posts' => 'edit_others_super_dupers',
'publish_posts' => 'publish_super_dupers',
'read_post' => 'read_super_duper',
'read_private_posts' => 'read_private_super_dupers',
'delete_post' => 'delete_super_duper',
),