get_categories()
この場合、アンカータグとしてリストされているすべてのカテゴリを含む文字列を返すため、最適な選択肢ではないと思いますが、表示には適していますが、カテゴリをコードで把握するのには適していません。わかりました。したがって、最初に行う必要があるのは、現在のページのproduct / postオブジェクトを取得していない場合です。
global $post;
次に、製品の製品カテゴリ用語オブジェクト(カテゴリ)を取得できます。ここでは、カテゴリ用語オブジェクトを名前の付いた単純な配列に変更し、$categories
どのスラッグが割り当てられているかを簡単に確認できるようにします。これは、現在のページのカテゴリだけでなく、製品に割り当てられているすべてのカテゴリを返すことに注意してください/shop/audio/funzo/
。
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;
次に、カテゴリがリストにあるかどうかを確認する必要があります。
if ( in_array( 'audio', $categories ) ) { // do something
すべてを一緒に入れて:
<?php
global $post;
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;
if ( in_array( 'audio', $categories ) ) {
echo 'In audio';
woocommerce_get_template_part( 'content', 'single-product' );
} elseif ( in_array( 'elektro', $categories ) ) {
echo 'In elektro';
woocommerce_get_template_part( 'content', 'single-product' );
} else {
echo 'some blabla';
}
うまくいけば、これがあなたが探していて、あなたの質問に答えることです。
)
でしょうか?それはif (is_product_category('audio'))