Actions and filters
There are a number of filters provided in WooCommerce Shipping Calculator which allow you to customize the behavior of the plugin.
Please note that this article is aimed at developers. If you don't know how to use this code then you should ask your developer.
Filters
wsc_script_params
Properties assigned to a global-scope variable containing WooCommerce Shipping Calculator settings passed to the front-end scripts.
Arguments
$script_data
(array): Array of WooCommerce Shipping Calculator parameters.
Example
add_filter( 'wsc_script_params', function( $script_data ) {
// your code to alter $script_data here...
return $script_data;
}
wsc_load_styles
Filter to determine whether to load the plugin styles or not.
add_filter( 'wsc_load_styles', '__return_true' );
wsc_load_scripts
Filter to determine whether to load the plugin scripts or not.
add_filter( 'wsc_load_styles', '__return_true' );
wsc_shipping_calculator_position_action
Filter to change the position of the shipping calculator by chosing a specic theme template action hook.
add_filter( 'wsc_shipping_calculator_position_action', function( $action ) {
// Above the add to cart button on the Storefront theme.
return 'woocommerce_single_product_summary';
} );
wsc_shipping_calculator_position_priority
Filter to change the priority of the above action hook that determinies position of the shipping calculator on the theme template.
add_filter( 'wsc_shipping_calculator_position_priority', function( $priority ) {
// Above the add to cart button on the Storefront theme.
return 29;
} );
wsc_shipping_calculator_shortcode_output
Filter to change the output of the shipping_calculator shortcode..
add_filter( 'wsc_shipping_calculator_shortcode_output', function( $out ) {
return $out;
} );
wsc_load_using_ajax
Filter that determines if the shipping calculator should be loaded using AJAX.
add_filter( 'wsc_load_using_ajax', function( $load_using_ajax ) {
if ( ! is_user_logged_in() ) {
$load_using_ajax = true;
}
return $load_using_ajax;
} );
wsc_is_shipping_calculator
Filter that determines if the current page is a product page where the shipping calculator can be shown.
add_filter( 'wsc_is_shipping_calculator', function( $is_shipping_calculator ) {
if ( is_product() ) {
return true;
}
return $is_shipping_calculator;
} );
wsc_is_shipping_calculator_ajax_call
Filter that determines whether the current ajax call is made by the product page shipping calculator.
add_filter( 'wsc_is_shipping_calculator_ajax_call', function( $is_ajax_call ) {
if ( isset( $_REQUEST[ 'wsc' ] ) ) {
return true;
}
return $is_ajax_call;
} );
wsc_ajax_url_arg
 The ajax url argument that is used to trace the shipping calculator ajax calls.
add_filter( 'wsc_ajax_url_arg', function( $ajax_url_arg ) {
return 'wsc';
} );
wsc_setting_<setting>
Filter to change a WooCommerce Shipping Calculator setting.
Available settings:
- <setting> (string): label, position or expand.
add_filter( 'wsc_setting_position', function( $value, $setting ) {
// Gets the stored setting value from the database.
$value = get_option( 'wsc_' . $setting );
// Do something.
$value = 'above_title';
return $value;
}, 10, 2 );
woocommerce_get_settings_calculator
Filter to change the admin WooCommerce settings fields.
add_filter( 'woocommerce_get_settings_calculator', function( $plugin_settings ) {
return $plugin_settings;
} );
wsc_shipping_calculator_position_action_mapping
Filter to change the shipping calculator position actions hooks and respective priorities.
add_filter( 'wsc_shipping_calculator_position_action_mapping', function( $position_action ) {
$position_actions['above_title'] = 'woocommerce_single_product_summary:4';
return $position_action;
} );
wsc_select_shipping_method
Filter to allow the selection of the shipping method within the shipping calculator.
add_filter( 'wsc_select_shipping_method', '__return_true' );
wsc_shipping_totals_class
Filter to add extra classes to the main shipping calculator div.
add_filter( 'wsc_shipping_totals_class', function( $position_action ) {
return 'my-custom-css-class';
} );
Actions
wsc_shipping_totals_before_shipping
Fired before the shipping calculator is displayed.
This hook is used to estimate the shipping before shipping calculator is displayed.
wsc_shipping_totals_after_shipping
Fired after the shipping calculator is displayed.
If searching the knowledge base hasn't answered your question, please contact support.