Actions and Filters
There are a number of filters provided in WooCommerce Bulk Variations which allow you to customize the behavior of the plugin.
Please note that these code snippets are aimed at developers. If you feel comfortable using them, our article on how to use code snippets can serve as a helpful guide. However, if you don't feel comfortable using them, then you should ask your developer. If you don't have one then you can use our plugin customization service.
Filters
Language filters
There are various filters provided for manipulating text strings and messages used in the plugin. Please refer to this article for filters to override the text strings.
wc_bulk_variations_get_table_output
Filter the output of all Bulk Variations tables on the site. $table may be an Object (default), HTML string, Array object, or a JSON string, which is specified by the $return_type
parameter using the string 'object', 'html', 'array', or 'json'.
add_filter( 'wc_bulk_variations_get_table_output', function( $table, $return_type ) {
// do something with $table
return $table;
} );
wc_bulk_variations_product_output
Filter the output of the Bulk Variations table html displayed within product templates.
add_filter( 'wc_bulk_variations_product_output', function( $html ) {
return '<div class="my-table-wrapper">' . $html . '</div>';
} );
wc_bulk_variations_shortcode_output
Filter the output of the Bulk Variations table html displayed by a shortcode.
add_filter( 'wc_bulk_variations_shortcode_output', function( $html ) {
return '<div class="my-shortcode-wrapper">' . $html . '</div>';
} );
wc_bulk_variations_table_row_attributes
Filter the attributes attached to each row of the Bulk Variations table. Provides the id
and class
attributes by default. Expects an array to be returned.
add_filter( 'wc_bulk_variations_table_row_attributes', function( $attributes ) {
$attributes['class'] .= ' custom-table-row-class';
return $attributes;
} );
woocommerce_add_to_cart_validation
Filter the validation of a product being added to the cart, filter provides the product ID ($product_id
), quantity ($qty
), product variation ID ($variation_id
), and a collection of all variations available ($all_variations
).
add_filter( 'woocommerce_add_to_cart_validation', function( $valid, $product_id, $qty, $variation_id, $all_variations ) {
// change $valid to the boolean `false` to show an error when the user adds this product to their cart
return $valid;
}, 10, 5 );
woocommerce_default_quantity_value
Filter the default quantity of each bulk variation input, filter provides the WC_Product_Variation ($product_variation
) object. This filter will only be applied if the WooCommerce Default Quantity plugin is installed.
add_filter( 'woocommerce_default_quantity_value', function( $value, $product_variation ) {
return 1;
}, 10, 2 );
wc_bulk_variations_table_cell_output
Filter the output of each individual <td> cell in the Bulk Variations table. Provides the WC_Product_Variation ($product_variation
) object.
add_filter( 'wc_bulk_variations_table_cell_output', function( $html, $product_variation ) {
return '<span class="wbv-table-cell-wrapper">' . $html . '</span>';
}, 10, 2 );
wc_bulk_variations_stock_message
Filter the output of the 'Out of Stock' message displayed underneath the quantity input. Provides the WC_Product_Variation ($product_variation
) object.
add_filter( 'wc_bulk_variations_stock_message', function( $message, $product_variation ) {
return 'Unavailable';
}, 10, 2 );
wc_bulk_variations_single_variation_header
Filter the string used as the header of the main column on single-attribute grids (in both horizontal and vertical orientations).
add_filter( 'wc_bulk_variations_single_variation_header', function( $header ) {
return 'Quantity';
} );
wc_bulk_variations_get_attachment_image
Filter the HTML markup of a product <img>
element.
add_filter( 'wc_bulk_variations_get_attachment_image', function( $html, $image_id, $product_id, $image_atts ) {
// your code to alter the HTML markup
return $html;
} );
wc_bulk_variations_get_image_html
Filter the HTML markup of a product image container (including the optional lightbox link).
add_filter( 'wc_bulk_variations_get_image_html', function( $html, $image_id, $product_id, $use_lightbox ) {
// your code to alter the HTML markup
return $html;
} );
Actions
wc_bulk_variations_table_load_scripts
Fired after WooCommerce Bulk Variations scripts and stylesheets have been enqueued, from within the wp_enqueue_scripts
action.
wc_bulk_variations_table_before_get_data
Fired before the data within a WooCommerce Bulk Variations table is generated. Provides WC_Bulk_Variations_Table object.
wc_bulk_variations_table_after_get_data
Fired after the data within a WooCommerce Bulk Variations table is generated. Provides WC_Bulk_Variations_Table object.