Changes on archive-product.php doesn't work

I tried all the above solutions, to no avail. No matter what I did, the archive-product.php was not being used at all. Instead, most woocommerce pages were using page.php from my theme.

The solution for me was to add theme support... Which, it's been a while since I used woocommerce, so I completely forgot about that. But after adding the following line to my functions.php file, archive-product.php is now being used (/mytheme/woocommerce/archive-product.php) and I can update it, as I should be able to.

add_theme_support('woocommerce');

Seems this is STILL an issue in Woocommerce. For anyone landing here, the following solution was working for me as of version 2.1.6.

Apparently the problem is due to the function woocommerce_content() outputting the wrong page for archive content.

I used the following to get around it:

replace woocommerce_content() in woocommerce.php with:

if ( is_singular( 'product' ) ) {
 woocommerce_content();
}else{
//For ANY product archive.
//Product taxonomy, product search or /shop landing
 woocommerce_get_template( 'archive-product.php' );
}

Credit: found the solution here


Here's how I fixed mine:

  1. Delete woocommerce.php in your theme folder.
  2. Copy TEMPLATE folder in woocommerce plugin dir, paste it in your THEME folder, and rename it to woocommerce.
  3. Open the folder you just renamed, go to shop folder, and edit wrapper-start.php and wrapper-end.php.