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

13,541

Solution 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

Solution 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' ); }

Solution 3

You should create different templates for different categories and then use them.

Have a look at here - https://wordpress.stackexchange.com/questions/95386/woocommerce-specific-template-for-product-category

Share:
13,541
Raj
Author by

Raj

Updated on July 24, 2022

Comments

  • Raj
    Raj almost 2 years

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

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

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

    How to do this?