I would like to add a class to the existing woocommerce product widget.

The file '/includes/widgets/class-wc-widget-products.php' has the following filter.

echo apply_filters( 'woocommerce_before_widget_product_list', '<ul class="product_list_widget">' );

Is there a method that I can edit the html <ul class="product_list_widget"> in that filter within my theme?

1 Answer 1


You can use the given filter to change the html.

Use this in your themes functions.php file

function wpse240457_add_class($html) {
  $html = '<ul class="product_list_widget your-new-class">';
  return $html;
add_filter('woocommerce_before_widget_product_list', 'wpse240457_add_class', 1, 15);
  • Brilliant thanks! I had no idea that add_filter is used to modify existing :)
    – scopeak
    Sep 24, 2016 at 23:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.