Hooks and Filters
The WPify Woo Conditional Shipping and Payment plugin provides filters to customize calculations, rules, and behavior of conditional shipping and payment.
Cart Calculation Filters
Section titled “Cart Calculation Filters”wpify_woo_conditional_shipping_cart_amount_include_tax
Section titled “wpify_woo_conditional_shipping_cart_amount_include_tax”Control whether cart subtotal conditions include or exclude VAT.
apply_filters( 'wpify_woo_conditional_shipping_cart_amount_include_tax', bool $include_tax );Default: true (cart subtotal includes VAT)
Example — calculate subtotal without VAT:
/** * Calculate cart subtotal without VAT for shipping conditions */add_filter( 'wpify_woo_conditional_shipping_cart_amount_include_tax', '__return_false' );wpify_woo_conditional_shipping_cart_total_include_tax
Section titled “wpify_woo_conditional_shipping_cart_total_include_tax”Control whether cart total conditions include or exclude VAT.
apply_filters( 'wpify_woo_conditional_shipping_cart_total_include_tax', bool $include_tax );Default: true (cart total includes VAT)
Example — calculate total without VAT:
/** * Calculate cart total without VAT for shipping conditions */add_filter( 'wpify_woo_conditional_shipping_cart_total_include_tax', '__return_false' );Rule Filters
Section titled “Rule Filters”wpify_woo_conditional_shipping_shipping_adjusted_price
Section titled “wpify_woo_conditional_shipping_shipping_adjusted_price”Filter the adjusted shipping price before it is applied.
apply_filters( 'wpify_woo_conditional_shipping_shipping_adjusted_price', $value, array $action, array $rule, array $passed_rules );Parameters:
| Parameter | Type | Description |
|---|---|---|
$value | float | The adjusted shipping price |
$action | array | The action configuration |
$rule | array | The rule group that matched |
$passed_rules | array | All rules that passed conditions |
Example — minimum shipping price:
/** * Set minimum shipping price to 29 CZK * * @param float $value Adjusted price * @param array $action Action * @param array $rule Rule * @param array $passed_rules All passed rules * @return float */function my_minimum_shipping_price( $value, $action, $rule, $passed_rules ) { return max( $value, 29 );}add_filter( 'wpify_woo_conditional_shipping_shipping_adjusted_price', 'my_minimum_shipping_price', 10, 4 );wpify_woo_conditional_shipping_passed_rules
Section titled “wpify_woo_conditional_shipping_passed_rules”Filter the rules that passed all conditions before actions are applied.
apply_filters( 'wpify_woo_conditional_shipping_passed_rules', array $rules, string $rules_id );Parameters:
| Parameter | Type | Description |
|---|---|---|
$rules | array | Array of rules that passed all conditions |
$rules_id | string | Identifier for the rules set (rules or payment_rules) |
Example — log rules for debugging:
/** * Log rules that passed conditions * * @param array $rules Rules * @param string $rules_id Rules set identifier * @return array */function my_log_passed_rules( $rules, $rules_id ) { $logger = wc_get_logger(); $logger->debug( sprintf( 'Rules %s: %d rules passed conditions', $rules_id, count( $rules ) ), [ 'source' => 'conditional-shipping-debug' ] );
return $rules;}add_filter( 'wpify_woo_conditional_shipping_passed_rules', 'my_log_passed_rules', 10, 2 );wpify_conditional_shipping_rules_priority
Section titled “wpify_conditional_shipping_rules_priority”Set the priority of the woocommerce_package_rates filter hook.
apply_filters( 'wpify_conditional_shipping_rules_priority', int $priority );Default: 1000
Example — run rules earlier:
/** * Run shipping rules earlier (lower number = higher priority) * * @param int $priority Priority * @return int */function my_shipping_rules_priority( $priority ) { return 100;}add_filter( 'wpify_conditional_shipping_rules_priority', 'my_shipping_rules_priority' );Fix Filters
Section titled “Fix Filters”wpify_woo_conditional_shipping_enable_negative_fee_fix
Section titled “wpify_woo_conditional_shipping_enable_negative_fee_fix”Enable or disable the VAT calculation fix for negative fees (discounts).
apply_filters( 'wpify_woo_conditional_shipping_enable_negative_fee_fix', bool $enable );Default: true
Example — disable the negative fee VAT fix:
/** * Disable negative fee VAT fix */add_filter( 'wpify_woo_conditional_shipping_enable_negative_fee_fix', '__return_false' );Settings Filters
Section titled “Settings Filters”wpify_woo_conditional_shipping_rules
Section titled “wpify_woo_conditional_shipping_rules”Filter the shipping rule field definitions. Allows adding custom condition types or modifying existing ones.
apply_filters( 'wpify_woo_conditional_shipping_rules', array $shipping_rules );wpify_woo_conditional_shipping_payment_rules
Section titled “wpify_woo_conditional_shipping_payment_rules”Filter the payment rule field definitions.
apply_filters( 'wpify_woo_conditional_shipping_payment_rules', array $payment_rules );Where to Place Your Code
Section titled “Where to Place Your Code”You can add custom functions either in your child theme’s functions.php or use the Code Snippets plugin.