I wanted to be able to do this and I mean across this old post: https://theeventscalendar.com/support/forums/topic/disable-editing-of-event-categories/
While the answer is a good one a concern I had was by overriding the entire Tribe Events register_taxonomy
call it could cause issues with future updates. Below is my modified solution which reads the original parameters and then just overrides the capabilities
section and then re-registers the taxonomy. Thought it might be helpful to others in the future.
function bdc_tribe_events_cat() {
//only needed in admin
if( !is_admin() )
{
return;
}
// get the arguments of the already-registered taxonomy
$events_category_args = get_taxonomy( 'tribe_events_cat' ); // returns an object
$new_permissions = array(
'manage_terms'. => 'update_themes',
'edit_terms'. => 'update_themes',
'delete_terms'. => 'update_themes',
'assign_terms'. => 'update_themes'
);
$events_category_args->cap = $new_permissions;
register_taxonomy( 'tribe_events_cat', 'tribe_events', (array) $events_category_args);
}
//only admins can edit event categories
add_action( 'init', 'bdc_tribe_events_cat', 11 );