How to call different template for different category archive page in woocommerce

I have two categories in woocommerce One is “Men” and Other is “Women”.

Be default woocommerce call archive-product.php for category archive page.

Read More

But I want to show different layout for each category archive page.

How to do this?

Related posts

Leave a Reply

3 comments

  1. You can see how WooCommerce is filtering template_include and will automatically look for taxonomy templates in the following order

    taxonomy-YOUR_TAXONOMY-YOUR_TERM.php

    then

    taxonomy-YOUR_TAXONOMY.php

    So in your example I believe you would create the following templates:

    taxonomy-product_cat-men.php

    and

    taxonomy-product_cat-women.php

  2. Just answered this here: changes-on-archive-product-php-doesnt-work

    you need to edit the file “taxonomy-product_cat.php” and add a conditional is_product_category( ‘mycategory’ ).

    1. open your theme folder and add a new subfolder named “woocommerce” to it.
    2. copy the files “archive-product.php” and “taxonomy-product_cat.php” from /plugins/woocommerce/templates to the woocommerce subfolder in your theme.
    3. rename “archive-product.php” to “archive-mycategory.php” (or whatever you like, this will be the template file to the category).
    4. open “taxonomy-product_cat.php” and wrap the wc_get_template( ‘archive-product.php’ ); with:

      if (is_product_category( ‘mycategory’ )){
      wc_get_template( ‘archive-mycategory.php’ );
      } else { wc_get_template( ‘archive-product.php’ ); }