The gform_post_save_feed_settings Gravity Forms action allows you to perform custom actions when a feed is saved.
Usage
add_action('gform_post_save_feed_settings', 'your_custom_function', 10, 4);
function your_custom_function($feed_id, $form_id, $settings, $addon) {
// Your custom code here
return $feed_id;
}
Parameters
$feed_id(string): The ID of the feed which was saved.$form_id(int): The current form ID associated with the feed.$settings(array): An array containing the settings and mappings for the feed.$addon(GFAddon): The current instance of the GFAddOn object which extends GFFeedAddOn or GFPaymentAddOn (i.e. GFCoupons, GF_User_Registration, GFStripe).
More information
See Gravity Forms Docs: gform_post_save_feed_settings
This action was introduced in Gravity Forms v2.4.12.3 and is located in the class-gf-feed-addon.php file.
Examples
Log feed settings update
Log the updated feed settings when a feed is saved.
add_action('gform_post_save_feed_settings', 'log_feed_settings_update', 10, 4);
function log_feed_settings_update($feed_id, $form_id, $settings, $addon) {
error_log("Feed ID {$feed_id} for form ID {$form_id} has been updated.");
}
Send notification on feed update
Send an email notification when a feed is updated.
add_action('gform_post_save_feed_settings', 'send_notification_on_feed_update', 10, 4);
function send_notification_on_feed_update($feed_id, $form_id, $settings, $addon) {
$to = '[email protected]';
$subject = 'Feed Updated';
$message = "Feed ID {$feed_id} for form ID {$form_id} has been updated.";
wp_mail($to, $subject, $message);
}
Add custom data to feed settings
Add custom data to the feed settings when a feed is saved.
add_action('gform_post_save_feed_settings', 'add_custom_data_to_feed_settings', 10, 4);
function add_custom_data_to_feed_settings($feed_id, $form_id, $settings, $addon) {
$settings['custom_data'] = 'Your custom data';
GFAPI::update_feed($feed_id, $settings);
}
Delete related data on feed update
Delete related data when a feed is updated.
add_action('gform_post_save_feed_settings', 'delete_related_data_on_feed_update', 10, 4);
function delete_related_data_on_feed_update($feed_id, $form_id, $settings, $addon) {
// Delete related data from your custom table or options
}
Update feed conditionally
Update the feed settings conditionally based on the form ID.
add_action('gform_post_save_feed_settings', 'conditionally_update_feed', 10, 4);
function conditionally_update_feed($feed_id, $form_id, $settings, $addon) {
if ($form_id == 5) {
$settings['custom_setting'] = 'Your custom value';
GFAPI::update_feed($feed_id, $settings);
}
}