Take the 2-minute tour ×

I wonder if it is possible to create a new user role and give him special limited abilities?

I'd like to have some users who can only add events onto the calendar. They should only be able to work within events calendar taxonomy and edit add their posts but not publish them something like contributor but more limited!

share|improve this question

2 Answers 2

Yes. WordPress has robust built-in Roles and Capabilities system desgined to do exactly what you are looking for.

To add a new role, use the add_role() function in your theme's functions.php or a plug-in like so:

$role = add_role( 'event_manager', 'Event Manager', array(
    'read' => true, // True allows that capability
) );

if ( null !== $role ) {
    echo 'Yay!  New role created!';
} else {
    echo 'Oh... the event_manager role already exists.';


To add a new capability, use the add_cap() function like this:

$role = get_role( 'event_manager' );
$role->add_cap( 'manage_events' );
share|improve this answer
It should be noted that you only need to add (and remove) a role once. They get stored in the database, no need to do it on every page load. Also, roles are better suited to plugins, in my opinion. –  chrisguitarguy Nov 7 '12 at 17:33
Thanks, @chrisguitarguy! –  Joseph Nov 7 '12 at 18:22
Just wondering, shouldn't we create a function and use a hook add_action('huh-which-one' –  alex Sep 8 at 10:01

Yes, definitely possible with a plugin like Members. You can create new roles and capabilities, but remember - you'll actually need inject these custom capabilities into your plugin. What you may want to do is just install the plugin and then modify the existing contributor role to suite your needs.

For really granular control, you could bundle that with the Role Scoper plugin as well. Thanks!

share|improve this answer

Your Answer


