capabilities /* [ // Woocommerce capabilities 'assign_product_terms' => true, 'assign_shop_coupon_terms' => true, 'assign_shop_order_terms' => true, 'delete_others_products' => true, 'delete_others_shop_coupons' => true, 'delete_others_shop_orders' => true, // Core capabilities 'delete_others_pages' => true, 'delete_others_posts' => true, 'delete_pages' => true, ] */ ); $site_manager = get_role('site_manager'); // Core capabilities $site_manager->add_cap('create_users', true); $site_manager->add_cap('delete_users', true); $site_manager->add_cap('edit_users', true); $site_manager->add_cap('remove_users', true); } else if ( $site_manager && $shop_manager ) { $shop_manager_cap = array_keys( $shop_manager->capabilities ); // get shop_manager capabilities foreach ( $shop_manager_cap as $cap ) { $site_manager->add_cap( $cap ); // clone shop_manager capabilities to site_manager } // Core capabilities $site_manager->add_cap('create_users', true); $site_manager->add_cap('delete_users', true); $site_manager->add_cap('edit_users', true); $site_manager->add_cap('remove_users', true); /* // add custom capabilities // Woocommerce capabilities $site_manager->add_cap('assign_product_terms', true); $site_manager->add_cap('assign_shop_coupon_terms', true); $site_manager->add_cap('assign_shop_order_terms', true); $site_manager->add_cap('delete_others_products', true); $site_manager->add_cap('delete_others_shop_coupons', true); $site_manager->add_cap('delete_others_shop_orders', true); // Core capabilities $site_manager->add_cap('delete_others_pages', true); $site_manager->add_cap('delete_others_posts', true); $site_manager->add_cap('delete_pages', true); */ } } // add_action( 'init', 'wpgetty_add_role_site_manager' ); register_activation_hook( __FILE__, 'wpgetty_add_role_site_manager' ); // https://nazmulahsan.me/rename-user-roles-wordpress/ /* for renmae function change_role_name() { global $wp_roles; if ( ! isset( $wp_roles ) ) $wp_roles = new WP_Roles(); //You can use any of the roles "administrator" "editor", "author", "contributor" or "subscriber"... $wp_roles->roles['site_manager']['name'] = 'Site Manager'; } add_action('init', 'change_role_name'); */ // REMOVE // https://www.isitwp.com/add-remove-wordpress-user-roles/ // https://developer.wordpress.org/reference/functions/remove_role/ // PLUGIN ACTIVATE, DEACTIVATE, UNINSTALL // http://qnimate.com/wordpress-plugin-activation-deactivation-and-uninstall-hooks/ *** // https://wordpress.stackexchange.com/questions/24600/how-can-i-delete-options-with-register-uninstall-hook *** // https://www.wpbeginner.com/beginners-guide/how-to-properly-uninstall-a-wordpress-plugin/ // https://premium.wpmudev.org/blog/activate-deactivate-uninstall-hooks/ // https://stackoverflow.com/questions/23790749/wordpress-plugin-options-need-to-delete-after-deactivate-uninstall // https://developer.wordpress.org/plugins/plugin-basics/uninstall-methods/ ***** function wpgetty_remove_role_site_manager() { if ( get_role('site_manager') ) remove_role( 'site_manager' ); if ( class_exists( 'BugFu' ) ) BugFu::log( 'site_manager removed!' ); } register_uninstall_hook( __FILE__, 'wpgetty_remove_role_site_manager' );