By default, the number of products displayed on Woocommerce archive pages (Shop and Category Pages) are controlled in WordPress reading settings , the same as number of posts displayed on blog pages.
I set the blog page to show 5 posts, so Woocommerce shows 5 products on archive pages, then comes the pagination.
To customize this, we just need to paste the following code snippet to functions.php file of active theme.
//Display 24 products on archive pages add_filter( 'loop_shop_per_page', create_function( '$cols', 'return 24;' ), 20 );
Adjust the number after return to get different results.
Now my services shop should display 24 products, since I only have 8 products, they are all displayed.