Is there any way to assign custom capabilities to user, I’m NOT talking about User Role.

I’m running a multi author blog where I assigned user role of “Author” to all of my authors. But I need a plugin or function.php snippet that remove a capability(not the role) from USER-ID

NOTE –

I dont want to assign/revoke capabilities to role ( administrator/author etc) I want to assign/revoke them to specific user using that users ID.

UPDATE – 08/01/2012

I have blog with suppose 50 authors, A author have capabilities to do post, comment, edit, update, send emails, share etc. but when a user misuses one of this feature I want to revoke that capability/capabilities from that user.

But If I decide to using roles I’d have to create so many user roles with different capabilities such as

  • cannot send
  • cannot send & comment
  • cannot send & comment & post
    etc.

Is there a way to revoke a capability from user(not the USER-ROLE)

3 Answers
3

Finally, I’ve figured out a way to do it using WP_user Class.

Snippet to add/remove capability to/from specific user –

//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');

There is special function in capabilities.php in the wp_user class to assign/revoke capability to/from user.

Leave a Reply

Your email address will not be published. Required fields are marked *