【Woocommerce】特定の商品カテゴリーに属する商品のproductページにだけ表示したいときのif分岐

2019年6月21日

WordPressのECサイトプラグイン Woocommerce で使えるif分岐で
is_category() に相当する、商品カテゴリーインデックスへの表示のためにif分岐には
is_product_category() はあるのに、

in_category() に相当する、商品カテゴリーに属する商品のproductページ(投稿に相当)への表示のためには in_product_category() がありません。

なんでや!!!😡

と、いうことでこれに相当するif分岐をご紹介しておきます。☺
hogehoge1、hogehoge2 は商品カテゴリースラッグです。

<?php
$product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;
if(has_term( "hogehoge1", 'product_cat', $product_id )): ?>
...

<?php endif; ?>

複数の商品カテゴリーのときは

<?php
$categories = array("hogehoge1","hogehoge2")
$product_id = method_exists( $product, 'get_id' ) ? $product->get_id() : $product->id;
if(has_term( $categories, 'product_cat', $product_id )): ?>
...

<?php endif; ?>

 

ページトップへ