The gform_zapier_feed_conditional_logic filter allows you to override the feed conditional logic rule during form submission, enabling the definition of multiple rules.
Usage
add_filter('gform_zapier_feed_conditional_logic', 'your_function_name', 10, 3);
Parameters
- $logic (string) – The existing logic array.
- $form (Form Object) – The form object.
- $zap (object) – The Zapier feed object.
More information
See Gravity Forms Docs: gform_zapier_feed_conditional_logic
Examples
Add additional logic rule
In this example, we add a new rule that checks if the specified field starts with “Test”.
add_filter('gform_zapier_feed_conditional_logic', 'set_logic', 10, 3);
function set_logic($logic, $form, $zap){
$logic['rules'][] = array(
'fieldId' => rgar($zap, 'zapier_conditional_field_id'),
'operator' => 'starts_with',
'value' => 'Test',
);
return $logic;
}
Modify the existing logic rule
In this example, we modify the existing logic rule to check if the specified field is equal to “Approved”.
add_filter('gform_zapier_feed_conditional_logic', 'modify_logic', 10, 3);
function modify_logic($logic, $form, $zap){
$logic['rules'][0]['operator'] = 'is';
$logic['rules'][0]['value'] = 'Approved';
return $logic;
}
Remove all logic rules
In this example, we remove all the existing logic rules.
add_filter('gform_zapier_feed_conditional_logic', 'remove_logic', 10, 3);
function remove_logic($logic, $form, $zap){
$logic['rules'] = array();
return $logic;
}
Add multiple logic rules
In this example, we add multiple logic rules to check if the specified field contains “Test” or “Sample”.
add_filter('gform_zapier_feed_conditional_logic', 'add_multiple_logic', 10, 3);
function add_multiple_logic($logic, $form, $zap){
$logic['rules'][] = array(
'fieldId' => rgar($zap, 'zapier_conditional_field_id'),
'operator' => 'contains',
'value' => 'Test',
);
$logic['rules'][] = array(
'fieldId' => rgar($zap, 'zapier_conditional_field_id'),
'operator' => 'contains',
'value' => 'Sample',
);
return $logic;
}
Change the logic relationship
In this example, we change the logic relationship to “any” so that the feed will be processed if any of the rules are met.
add_filter('gform_zapier_feed_conditional_logic', 'change_logic_relationship', 10, 3);
function change_logic_relationship($logic, $form, $zap){
$logic['relationship'] = 'any';
return $logic;
}