1

I am trying to use the WooCommerce Conditional Tags to only include a template into specific product pages. https://docs.woocommerce.com/document/conditional-tags/

However my statements aren't working, and they show on all pages. I'd like to NOT display my template in a specific category and its product pages:

<?php 
 // Show in Shop Page OR NOT in Products IDs 15852,15859,15863,15866 OR NOT Category Archive Gift Cards

 if ( is_shop() || !is_product(array( 15852,15859,15863,15866 )) ||  !is_product_category( 'gift-cards' )) 
 { 
      get_template_part('my-template'); 
 } 
 ?>

I've also tried the opposite:

<?php 
if ( is_product(array('gift-card-25','gift-card-50','gift-card-75','gift-card-100')) ) 
{ 
    get_template_part('my-template'); 
} 
?>

Can you please advise how to get it to work?

Our website: https://grindersforlife.com/shop

Thanks!

2
  • Can you please show us the code source
    – Younes.D
    Commented Jan 14, 2020 at 1:03
  • I've fixed my question to include my code. Sorry! Thanks for your help!
    – Cintia
    Commented Jan 14, 2020 at 4:41

1 Answer 1

1

The solution to my problem was to use:

has_term( 'the-cat-I-want-to-display', 'product_cat' ) || is_product_category( 'the-cat-I-want-to-display' )

This worked. Thanks everyone for your help!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.