get_trainer_capabilities() ); } /** * Remove the hvac_trainer role */ public function remove_trainer_role() { remove_role('hvac_trainer'); } /** * Get all capabilities for the trainer role */ public function get_trainer_capabilities() { $caps = array( // Basic WordPress capabilities 'read' => true, 'upload_files' => true, // Custom HVAC capabilities 'manage_hvac_events' => true, 'edit_hvac_profile' => true, 'view_hvac_dashboard' => true, 'manage_attendees' => true, 'email_attendees' => true, // The Events Calendar capabilities 'publish_tribe_events' => true, 'edit_tribe_events' => true, 'delete_tribe_events' => true, 'edit_published_tribe_events' => true, 'delete_published_tribe_events' => true, 'read_private_tribe_events' => true, ); // Explicitly deny admin capabilities $denied_caps = array( 'manage_options', 'moderate_comments', 'manage_categories', 'manage_links', 'edit_others_posts', 'edit_pages', 'edit_others_pages', 'edit_published_pages', 'publish_pages', 'delete_pages', 'delete_others_pages', 'delete_published_pages', 'delete_others_posts', 'import', 'export', 'edit_theme_options', ); foreach ($denied_caps as $cap) { $caps[$cap] = false; } return $caps; } /** * Check if current user has a specific HVAC trainer capability */ public static function check_trainer_capability($capability) { return current_user_can($capability); } }