Support » Plugin: Events Manager » Modify create_events/create_posts capability?

  • Resolved topdownjimmy

    (@topdownjimmy)


    I’m trying to remove the “create_events” capability for a certain user role, with little luck.

    If I add:

    'create_posts' => 'create_events',

    in em-posts.php in the $event_post_type['capabilities'] array, I can remove this capability easily in my theme’s functions.php file, but without that, I can’t.

    How can I submit a patch to this plugin, or has anybody else had any luck doing something like this?

    https://wordpress.org/plugins/events-manager/

Viewing 2 replies - 1 through 2 (of 2 total)
  • Plugin Support angelo_nwl

    (@angelo_nwl)

    did you already tried to use user capabilities under events > settings > general > user capabilities or use other user role plugin ?

    1. create_posts isn’t in the Events settings.
    2. I haven’t tried other role plugins, I’d rather be able to do this myself. I don’t need the level of role modification that those large plugins allow.

    I did figure out how to do this however:

    function cap_create_events($post_type, $args) {
    
      if ( 'event' != $post_type)
        return;
    
      global $wp_post_types;
    
      $args->cap->create_posts = 'create_events';
    
      $wp_post_types[ $post_type ] = $args;
    }
    add_action( 'registered_post_type', 'cap_create_events', 10, 2 );
    
    function prevent_contrib_create_events() {
      $role_object = get_role( 'contributor' );
      $role_object->remove_cap( 'create_events' );
    }
    add_action( 'init', 'prevent_contrib_create_events' );
Viewing 2 replies - 1 through 2 (of 2 total)
  • The topic ‘Modify create_events/create_posts capability?’ is closed to new replies.