WooCommerce Template Override for Archive-Product.php (Main Shop Page) Not Working WooCommerce Template Override for Archive-Product.php (Main Shop Page) Not Working wordpress wordpress

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 inplugins/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.