How to change the number of products columns on the shop page in Shop Isle
The first step is to create a child theme. So, if you do not already have one, we recommend you to go through " How to create a child theme" tutorial. It will help you to start with a basic child theme and be ready for any future modifications.
After creating the child theme, you have to add the following code to your functions.php file:
add_filter('loop_shop_columns', 'loop_columns', 999); if (!function_exists('loop_columns')) { function loop_columns() { return 3; // 3 products per row } } function child_styles_method() { $nb_of_prod = loop_columns(); wp_enqueue_style( 'custom-style', get_template_directory_uri() . '/css/custom_script.css' ); $column_width = 100 / $nb_of_prod; $custom_css = " ul.products li.product{ width: {$column_width}% !important; } "; wp_add_inline_style( 'custom-style', $custom_css ); } add_action( 'wp_enqueue_scripts', 'child_styles_method' );
where 3 is the numbers that should be replaced with the numbers that you actually need.Then you should add the following code to your style.css.
ul.products li.product { clear: none !important; } ul.products li.product.first { float: left !important; clear: left !important; } @media (max-width: 992px) { ul.products li.product:nth-child(2n+1){ clear: left !important; float: left !important; width: 50% !important; } ul.products li.product { width: 50% !important; } ul.products li.product.first { float: left !important; clear: none !important; } } @media (max-width: 600px) { ul.products li.product, ul.products li.product:nth-child(2n+1), ul.products li.product.first { width: 100% !important; float: none !important; } }
The percentage must be changed according to the number of columns you choose in the first step.