WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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
Without programming knowledge you can add user roles and capabilities in WordPress by different free plugins, here is one of them User Roles and Capabilities – Mahabubur Rahman Feb 10 '15 at 11:13

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 Leedy 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 '14 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


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.