web-dev-qa-db-fra.com

Comment puis-je accorder des fonctionnalités directement aux utilisateurs (pas aux rôles) dans wp-admin?

Je veux créer des fonctionnalités dynamiques en utilisant WP_Role :: add_cap () , quelque chose comme

$author_role = get_role('author');

foreach ($sections as $section) {
    $author_role->add_cap( "edit_{$section}_pages", /* grant= */ false );
}

et ensuite, laissez les administrateurs attribuer certaines de ces fonctionnalités à certains auteurs uniquement (par exemple, Jane peut edit_school_pages) dans wp-admin ( not par programme, via WP_User :: add_cap ()).

Je suppose qu’un plugin peut aider à cela, mais ceux que j’ai trouvés (par exemple, Capability Manager ) semblent mettre l’accent sur la création de nouveaux rôles ou capacités et l’ajout/déplacement de capacités entre les rôles, et non sur l’octroi de fonctionnalités directement aux utilisateurs pourrait se tromper).

Conseil? Merci, s

2
sam

vous pouvez attribuer des fonctionnalités directement à l'utilisateur à l'aide de la classe WP_user::add_cap()

//to remove capability from user
$user = new WP_User( $user_id );
$user->remove_cap( 'can_email');

//to add capability to user
$user = new WP_User( $user_id );
$user->add_cap( 'can_email');

Source - https://wordpress.stackexchange.com/a/60433/17968

4
amit

Je suis là, je commence à utiliser this plugin.

J'édite parce que la réponse était mauvaise. Donc, le plugin que je commence à utiliser est ' Role Scoper for Wordpress '. Je dois avoir différents rôles, mais avant tout, je dois attribuer les droits "par poste". Ce plugin semble le faire, avec juste un petit truc. Je vais essayer plus afin que je puisse écrire beaucoup mieux.

2
Francesco Di Candia

Les capacités sont des autorisations pour les rôles. Ces rôles sont ensuite étendus aux utilisateurs, ce qui détermine ce qu’un utilisateur peut faire. La raison pour laquelle vous utilisez des rôles est d'éviter de gérer les autorisations par utilisateur.

Le meilleur moyen d'accomplir ce que vous voulez est de créer un nouveau rôle pour chaque ensemble de fonctionnalités souhaité et d'affecter l'utilisateur à chaque rôle avec un plugin de gestion de membres.

1
Matthew Muro