Sally in the comments above gave a very informative answer to this question, which answers the OP.
I would like to quote it again:
single-product.php in the root theme folder works because that is a
valid/recognized template for single posts of the product type - i.e.
single-<post type>.php - and by default, it has a higher priority
and would be used even if your theme does have
Also Chetan mentioned to add theme support with
add_theme_support( 'woocommerce' );
But note, if at
woocommerce.php file resides a your your theme's root folder, the
archive-product.php wont work.
WooCommerce plugin comes with a handy checking tool at your Dashboard. Go the WooCommerce -> Status
- And it reports if your theme has been modified to add wocommerce support or not.
- Any flags to notice
- And at the last section it shows the list of template files which are overwritten and if there are issues regarding them. For example, if your theme has a
woocommerce.php it would notify you it too!