The gform_web_api_capability_delete_forms filter allows you to modify the capability required to delete forms via the Gravity Forms web API.
Usage
add_filter('gform_web_api_capability_delete_forms', 'change_delete_forms_capability');
function change_delete_forms_capability($capability) {
// your custom code here
return $capability;
}
Parameters
- $capability (string) – The capability required. Defaults to ‘gravityforms_delete_forms’.
More information
See Gravity Forms Docs: gform_web_api_capability_delete_forms
Examples
Change capability to ‘delete_others_forms’
Change the required capability to delete forms to ‘delete_others_forms’.
add_filter('gform_web_api_capability_delete_forms', 'change_capability_to_delete_others_forms');
function change_capability_to_delete_others_forms($capability) {
return 'delete_others_forms';
}
Allow administrators to delete forms
Allow users with ‘manage_options’ capability (usually administrators) to delete forms.
add_filter('gform_web_api_capability_delete_forms', 'allow_admins_to_delete_forms');
function allow_admins_to_delete_forms($capability) {
return 'manage_options';
}
Custom capability for a specific user role
Create a custom capability ‘custom_delete_forms’ for a specific user role to delete forms.
add_filter('gform_web_api_capability_delete_forms', 'custom_capability_for_user_role');
function custom_capability_for_user_role($capability) {
return 'custom_delete_forms';
}
Restrict form deletion to users with ‘edit_posts’ capability
Allow users with ‘edit_posts’ capability to delete forms.
add_filter('gform_web_api_capability_delete_forms', 'restrict_deletion_to_edit_posts_capability');
function restrict_deletion_to_edit_posts_capability($capability) {
return 'edit_posts';
}
Disable form deletion via the web API
Disable the ability to delete forms via the web API by returning a non-existent capability.
add_filter('gform_web_api_capability_delete_forms', 'disable_form_deletion_via_web_api');
function disable_form_deletion_via_web_api($capability) {
return 'non_existent_capability';
}