The gform_rest_api_capability_delete_forms filter allows you to customize the capability required to delete forms via the Gravity Forms REST API v2.
Usage
add_filter('gform_rest_api_capability_delete_forms', 'your_function_name', 10, 2);
Parameters
- $capability (string) – The capability required. Defaults to ‘gravityforms_delete_forms’.
- $request (WP_REST_Request) – Full data about the request.
More information
See Gravity Forms Docs: gform_rest_api_capability_delete_forms
Examples
Change the capability required to delete forms
This example changes the required capability to delete forms via the REST API to ‘my_custom_capability’.
add_filter('gform_rest_api_capability_delete_forms', 'get_delete_forms_capability', 10, 2);
function get_delete_forms_capability($capability, $request) {
return 'my_custom_capability';
}
Allow users with ‘editor’ role to delete forms
This example allows users with the ‘editor’ role to delete forms via the REST API.
add_filter('gform_rest_api_capability_delete_forms', 'allow_editor_delete_forms', 10, 2);
function allow_editor_delete_forms($capability, $request) {
return 'edit_others_posts';
}
Restrict form deletion to a specific user
This example allows only a specific user with ID 5 to delete forms via the REST API.
add_filter('gform_rest_api_capability_delete_forms', 'restrict_form_deletion', 10, 2);
function restrict_form_deletion($capability, $request) {
if (get_current_user_id() == 5) {
return $capability;
} else {
return 'do_not_allow';
}
}
Allow form deletion only for forms with specific IDs
This example allows form deletion via the REST API only for forms with the IDs 1, 2, and 3.
add_filter('gform_rest_api_capability_delete_forms', 'allow_specific_forms_deletion', 10, 2);
function allow_specific_forms_deletion($capability, $request) {
$allowed_form_ids = array(1, 2, 3);
$form_id = $request->get_param('form_id');
if (in_array($form_id, $allowed_form_ids)) {
return $capability;
} else {
return 'do_not_allow';
}
}
Disable form deletion via the REST API
This example disables form deletion via the REST API.
add_filter('gform_rest_api_capability_delete_forms', 'disable_form_deletion', 10, 2);
function disable_form_deletion($capability, $request) {
return 'do_not_allow';
}