The gform_web_api_capability_delete_entries filter in Gravity Forms allows you to change the capability required for a user to delete entries via the web API.
Usage
add_filter('gform_web_api_capability_delete_entries', function ($capability) { // your custom code here return $new_capability; });
Parameters
$capability
(string) – The capability required. Defaults to ‘gravityforms_delete_entries’.
More information
See Gravity Forms Docs: gform_web_api_capability_delete_entries
Examples
Change the capability required to delete entries
Change the capability required for a user to delete entries via the web API to ‘delete_others_posts’:
add_filter('gform_web_api_capability_delete_entries', function ($capability) { return 'delete_others_posts'; });
Allow administrators to delete entries
Allow only administrators to delete entries via the web API:
add_filter('gform_web_api_capability_delete_entries', function ($capability) { return 'manage_options'; });
Create a custom capability for deleting entries
Create a custom capability ‘custom_delete_entries_capability’ for users to delete entries via the web API:
add_filter('gform_web_api_capability_delete_entries', function ($capability) { return 'custom_delete_entries_capability'; });
Allow editors to delete entries
Allow editors to delete entries via the web API:
add_filter('gform_web_api_capability_delete_entries', function ($capability) { return 'delete_published_posts'; });
Restrict entry deletion to a specific user role
Allow only users with a custom role ‘entry_deleter’ to delete entries via the web API:
add_filter('gform_web_api_capability_delete_entries', function ($capability) { if (current_user_can('entry_deleter')) { return 'gravityforms_delete_entries'; } return 'do_not_allow'; });