Eu não acho que get_categories()
é a melhor opção para você neste caso, pois retorna uma string com todas as categorias listadas como tags âncora, perfeitas para exibição, mas não ótimas para descobrir no código quais são as categorias. Ok, então a primeira coisa que você precisa fazer é pegar o objeto product / post da página atual, se você ainda não a possui:
global $post;
Em seguida, você pode obter os objetos de termo da categoria do produto (as categorias) para o produto. Aqui, estou transformando os objetos de termo de categoria em uma matriz simples denominada, $categories
para que seja mais fácil ver quais lesmas são atribuídas. Observe que isso retornará todas as categorias atribuídas ao produto, não apenas a da página atual, ou seja, se estivermos em /shop/audio/funzo/
:
$terms = wp_get_post_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ) $categories[] = $term->slug;
Depois, basta verificar se uma categoria está na lista:
if ( in_array( 'audio', $categories ) ) { // do something
Juntando tudo:
<?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';
}
Espero que seja isso que você estava procurando e responda à sua pergunta.
)
? Deveria serif (is_product_category('audio'))