get_categories()
Bu durumda sizin için en iyi seçenek olduğunu sanmıyorum , çünkü bağlantı etiketleri olarak listelenen tüm kategorileri içeren bir dize döndürüyor, görüntülemek için iyi, ancak kodların kategorilerin ne olduğunu bulmak için harika değil. Tamam, yapmanız gereken ilk şey, sizde yoksa geçerli sayfanın ürün / yazı nesnesini almaktır:
global $post;
Sonra ürün için ürün kategorisi terim nesnelerini (kategorileri) alabilirsiniz. Burada kategori terim nesnelerini adlandırılmış basit bir diziye çeviriyorum, $categories
böylece hangi sümüklü böceklerin atandığını görmek daha kolay. Bunun , yalnızca geçerli sayfanın kategorisine değil, ürüne atanan tüm kategorileri, yani açıksa /shop/audio/funzo/
:
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;
O zaman bir kategorinin listede olup olmadığını kontrol etmeliyiz:
if ( in_array( 'audio', $categories ) ) { // do something
Hepsini bir araya koy:
<?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';
}
Umarım aradığınız şey budur ve sorunuzu yanıtlar.
)
mi? Olması gerekenif (is_product_category('audio'))