Custom theme

If you’re building a custom theme it may be useful to make this pluggable for other developers

// Change number or products per row to 3
add_filter('loop_shop_columns', 'loop_columns');
if (!function_exists('loop_columns')) {
     function loop_columns() {
          return 3; // 3 products per row
     }
}

 

WooTheme

If you’re using a WooTheme then this code may have been utilised in the theme. It will already be pluggable which means you’ll need to redefine the function in your functions.php file (preferably in a child theme) to overwrite the theme default.

// Override theme default specification for product # per row
function loop_columns() {
return 5; // 5 products per row
}
add_filter('loop_shop_columns', 'loop_columns', 999);

 
Source: https://docs.woocommerce.com/document/change-number-of-products-per-row/