The gform_entry_pre_handle_confirmation Gravity Forms PHP filter allows you to modify the entry data before the confirmation is processed.
Usage
add_filter('gform_entry_pre_handle_confirmation', 'your_function_name', 10, 2);
Parameters
$entry
(Entry Object): The current entry.$form
(Form Object): The current form.
More information
See Gravity Forms Docs: gform_entry_pre_handle_confirmation
Examples
Change Email Address Based on Name
This example modifies the email address field if the name field contains “Rocketgenius”.
add_filter('gform_entry_pre_handle_confirmation', 'change_entry', 10, 2); function change_entry($entry, $form) { if (rgar($entry, '1.3') == 'Rocketgenius' || rgar($entry, '1.6') == 'Rocketgenius') { $entry['2'] = '[email protected]'; } return $entry; }
Add a Note to the Entry
This example adds a note to the entry based on a specific condition.
add_filter('gform_entry_pre_handle_confirmation', 'add_note', 10, 2); function add_note($entry, $form) { if (rgar($entry, '5') > 1000) { $entry['8'] = 'Large order received.'; } return $entry; }
Modify Total Amount
This example applies a 10% discount if the order total is greater than $500.
add_filter('gform_entry_pre_handle_confirmation', 'apply_discount', 10, 2); function apply_discount($entry, $form) { if (rgar($entry, '7') > 500) { $entry['7'] = $entry['7'] * 0.9; } return $entry; }
Change Confirmation URL Based on a Field Value
This example changes the confirmation URL based on the user’s selected package.
add_filter('gform_entry_pre_handle_confirmation', 'change_confirmation_url', 10, 2); function change_confirmation_url($entry, $form) { if (rgar($entry, '3') == 'Premium') { $entry['confirmation_url'] = 'https://example.com/premium-package'; } return $entry; }
Update a Custom Field in the Entry
This example updates a custom field with the user’s full name.
add_filter('gform_entry_pre_handle_confirmation', 'update_full_name', 10, 2); function update_full_name($entry, $form) { $entry['custom_full_name'] = rgar($entry, '1.3') . ' ' . rgar($entry, '1.6'); return $entry; }