The gform_pre_confirmation_save Gravity Forms PHP filter allows you to modify the confirmation object before it is saved to the database.
Usage
To apply the filter to all forms:
add_filter('gform_pre_confirmation_save', 'my_custom_function', 10, 2);
To apply the filter to a specific form with ID 5:
add_filter('gform_pre_confirmation_save_5', 'my_custom_function', 10, 2);
Parameters
- $confirmation (Confirmation Object) – The confirmation object about to be saved.
- $form (Form Object) – The current form object to which the confirmation being saved belongs.
More information
See Gravity Forms Docs: gform_pre_confirmation_save
Examples
Add custom confirmation setting
This example demonstrates how to add the value entered via a custom UI setting to the confirmation object before it is saved to the database. Use this with the gform_confirmation_ui_settings hook to display your custom settings UI.
add_filter('gform_pre_confirmation_save', 'my_custom_confirmation_save', 10, 2); function my_custom_confirmation_save($confirmation, $form) { $confirmation['my_custom_setting'] = rgpost('my_custom_setting'); return $confirmation; }
Modify confirmation message based on form input
This example shows how to modify the confirmation message based on a user’s input on the form.
add_filter('gform_pre_confirmation_save', 'customize_confirmation_message', 10, 2); function customize_confirmation_message($confirmation, $form) { $user_input = rgpost('input_1'); $confirmation['message'] .= ' ' . $user_input; return $confirmation; }
Conditional confirmation redirect
This example demonstrates how to conditionally redirect users to different pages based on their form input.
add_filter('gform_pre_confirmation_save', 'conditional_confirmation_redirect', 10, 2); function conditional_confirmation_redirect($confirmation, $form) { $user_choice = rgpost('input_1'); if ($user_choice == 'Option A') { $confirmation['url'] = 'https://www.example.com/page-a'; } else { $confirmation['url'] = 'https://www.example.com/page-b'; } return $confirmation; }
Change confirmation type based on form input
This example shows how to change the confirmation type (message, redirect, or page) based on a user’s input on the form.
add_filter('gform_pre_confirmation_save', 'change_confirmation_type', 10, 2); function change_confirmation_type($confirmation, $form) { $user_input = rgpost('input_1'); if ($user_input == 'Yes') { $confirmation['type'] = 'redirect'; $confirmation['url'] = 'https://www.example.com/yes-page'; } else { $confirmation['type'] = 'message'; $confirmation['message'] = 'Thanks for your response!'; } return $confirmation; }