The gform_zapier_products Gravity Forms PHP filter allows you to modify the products array before it is sent to Zapier.
Usage
add_filter('gform_zapier_products', 'your_function_name', 10, 3);
Parameters
- $products (array): An array of product information.
- $form (Form Object): The form object.
- $entry (Entry Object): The current entry.
More information
See Gravity Forms Docs: gform_zapier_products
Examples
Add a test product to the products array
This example demonstrates how to add a test product to the products array before sending it to Zapier.
add_filter('gform_zapier_products', 'modify_products', 10, 3); function modify_products($products, $form, $entry) { $products[] = array( 'product_id' => 'TEST01', 'product_name' => 'Test Product', 'product_quantity' => 2, 'product_price' => 5, 'product_price_with_options' => 5, 'product_subtotal' => 10, 'product_options' => 'Blue' ); return $products; }
Change product quantity
This example demonstrates how to change the quantity of a specific product before sending it to Zapier.
add_filter('gform_zapier_products', 'change_product_quantity', 10, 3); function change_product_quantity($products, $form, $entry) { foreach ($products as &$product) { if ($product['product_id'] == '123') { $product['product_quantity'] = 10; } } return $products; }
Remove a product
This example demonstrates how to remove a specific product from the products array before sending it to Zapier.
add_filter('gform_zapier_products', 'remove_product', 10, 3); function remove_product($products, $form, $entry) { foreach ($products as $key => $product) { if ($product['product_id'] == '456') { unset($products[$key]); } } return $products; }
Apply a discount
This example demonstrates how to apply a discount to a specific product before sending it to Zapier.
add_filter('gform_zapier_products', 'apply_discount', 10, 3); function apply_discount($products, $form, $entry) { foreach ($products as &$product) { if ($product['product_id'] == '789') { $product['product_price'] *= 0.9; // Apply a 10% discount $product['product_subtotal'] = $product['product_price'] * $product['product_quantity']; } } return $products; }
Add custom product options
This example demonstrates how to add custom product options to a specific product before sending it to Zapier.
add_filter('gform_zapier_products', 'add_custom_options', 10, 3); function add_custom_options($products, $form, $entry) { foreach ($products as &$product) { if ($product['product_id'] == '321') { $product['product_options'] .= ', Custom Engraving'; } } return $products; }