• First off I am just starting to get into some basic plugin development and I need some help. I am trying to use add_cap in my plugin to grant editors some extra rights. I need to tie this into run at plugin activation and remove the permissions at deactivation. I know the below code will run when the plugin is activated, I have been trying to figure out how to tie it into the activation hook. I can get it to add_capp but I can’t seem to get it to run at activation and remove at deactivation. Any help or insight would be great. Again this is may be a simple thing but I am very new to this.

    function add_capability() {
    		$caps = array( 'gravityforms_create_form', 'gravityforms_delete_entries', 'gravityforms_delete_forms', 'gravityforms_edit_entries', 'gravityforms_edit_entry_notes', 'gravityforms_edit_forms', 'gravityforms_edit_settings', 'gravityforms_export_entries', 'gravityforms_feed', 'gravityforms_view_entries', 'gravityforms_view_entry_notes', 'gravityforms_view_settings', 'gravityforms_campaignmonitor', 'gravityforms_freshbooks', 'gravityforms_mailchimp', 'gravityforms_paypal', 'gravityforms_user_registration' );
    		$role = get_role( 'editor' );
    
    		foreach( $caps as $cap ) {
    			$role->add_cap( $cap );
    		}
    	}
    
    		add_action( 'admin_init', 'add_capability' );
    
    function remove_capability() {
    		$caps = array( 'gravityforms_create_form', 'gravityforms_delete_entries', 'gravityforms_delete_forms', 'gravityforms_edit_entries', 'gravityforms_edit_entry_notes', 'gravityforms_edit_forms', 'gravityforms_edit_settings', 'gravityforms_export_entries', 'gravityforms_feed', 'gravityforms_view_entries', 'gravityforms_view_entry_notes', 'gravityforms_view_settings', 'gravityforms_campaignmonitor', 'gravityforms_freshbooks', 'gravityforms_mailchimp', 'gravityforms_paypal', 'gravityforms_user_registration' );
    		$role = get_role( 'editor' );
    
    		foreach( $caps as $cap ) {
    			$role->remove_cap( $cap );
    		}
    	}
    		add_action( 'admin_init', 'remove_capability' );
    
    register_activation_hook( __FILE__, 'add_capability' );
    register_uninstall_hook( __FILE__, 'remove_capability' );
  • The topic ‘register_activation_hook and add_cap for plugin’ is closed to new replies.