add_cap( 'hssm_manage_slides' ); } // Also add to editor role $editor_role = get_role( 'editor' ); if ( $editor_role ) { $editor_role->add_cap( 'hssm_manage_slides' ); } // Flush rewrite rules to ensure our CPT permalinks work flush_rewrite_rules(); } register_activation_hook( __FILE__, 'hssm_activate' ); /** * Plugin deactivation hook * * @since 1.0.0 */ function hssm_deactivate() { // Remove custom capability $admin_role = get_role( 'administrator' ); if ( $admin_role ) { $admin_role->remove_cap( 'hssm_manage_slides' ); } $editor_role = get_role( 'editor' ); if ( $editor_role ) { $editor_role->remove_cap( 'hssm_manage_slides' ); } // Flush rewrite rules flush_rewrite_rules(); } register_deactivation_hook( __FILE__, 'hssm_deactivate' ); /** * Initialize the Hi-School Slide Manager plugin * * @since 1.0.0 */ function hssm_init() { // Check if we're on the main site (this plugin should only run on main site) if ( is_multisite() && ! is_main_site() ) { return; } // Initialize autoloader HSSM_Autoloader::init(); // Get the main plugin instance and initialize $hssm = HSSM_Main::get_instance(); $hssm->init(); } // Hook into WordPress add_action( 'plugins_loaded', 'hssm_init' ); // Activation and deactivation hooks register_activation_hook( __FILE__, array( 'HSSM_Main', 'activate' ) ); register_deactivation_hook( __FILE__, array( 'HSSM_Main', 'deactivate' ) ); register_uninstall_hook( __FILE__, array( 'HSSM_Main', 'uninstall' ) );