Skip to content

Hooks and Filters

The WPify Woo Conditional Shipping and Payment plugin provides filters to customize calculations, rules, and behavior of conditional shipping and payment.

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' );

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:

ParameterTypeDescription
$valuefloatThe adjusted shipping price
$actionarrayThe action configuration
$rulearrayThe rule group that matched
$passed_rulesarrayAll 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:

ParameterTypeDescription
$rulesarrayArray of rules that passed all conditions
$rules_idstringIdentifier 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 );

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' );

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' );

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 );

You can add custom functions either in your child theme’s functions.php or use the Code Snippets plugin.