Hooks and Filters
The 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.