WooCommerce Template Override for Archive-Product.php (Main Shop Page) Not Working
You are doing this correctly. You'll have to double check the locations as per:
Shop template is in
plugins/woocommerce/templates/archive-product.php
You can copy to
my-themes/woocommerce/archive-product.php
tooverride the core woocommerce file.
I just had the same issue, What worked for me, is removing the woocommerce.php file, because before, it applied the template woocommerce.php to the shop, and not the archive-product.
The answer is that when you updated to the newest version of WooCommerce, you have to "reinstall" the WooCommerce pages because the old system did not use the wc_get_page_id()
function, which looks for the shop page.
Luckily this is super easy! Go to your admin, then to WooCommerce, then to System Status, then click on the Tools tab. Then click the button to the right of Install WooCommerce Pages. This will only install the missing WooCommerce pages and, get this, will reinstall the shop page with the proper wc_get_page_id
.
NOTE: if you have content in the original WordPress shop page, although it didn't erase it for me, you might just want to copy the content first just in case.