Mon thème wordpress a un post-type personnalisé. Seuls les éditeurs (et les versions supérieures) devraient être autorisés à utiliser ce type de publication.
J'ai fait ça avec:
function add_capability($role,$cap) {
$role_obj = get_role($role); // get the the role object
$role_obj -> add_cap($cap); // add $cap capability to this role object
}
function set_cpt() {
add_capability('editor', 'edit_cpt');
add_capability('editor', 'read_cpt');
add_capability('editor', 'delete_cpt');
add_capability('editor', 'edit_cpt');
add_capability('editor', 'edit_cpt');
add_capability('editor', 'publish_cpt');
add_capability('editor', 'read_cpt');
}
add_action('init', 'set_cpt');
(Je pense) dans Wordpress 3.1 cela suffisait - tous les éditeurs et les versions supérieures avaient le droit d'utiliser le type de message.
À présent, dans Wordpress 3.2 uniquement les éditeurs ont le droit d'utiliser le type de publication.
Existe-t-il un moyen d'accorder des privilèges au rôle X et aux rôles supérieurs ou devrais-je mentionner tous les rôles?
Je vous remercie!
[modifier]
en fait, j'ai découvert que cela n'avait jamais fonctionné auparavant. Mais y a-t-il une autre façon de le faire?
Si vous utilisez le plugin Members , vous pouvez le configurer comme vous le souhaitez. Il a également la possibilité d'ajouter des rôles personnalisés (votre edit_cpt
et ainsi de suite)
aussi beaucoup de plugins fonctionnent aussi de cette façon:
<?php if ( current_user_can('manage_options') ) { do_something(); } ?>