Como no mundo posso verificar se um produto está em uma determinada categoria de produto no single-product.php ?
<?php if (is_product_category('audio')) {
echo 'In audio';
woocommerce_get_template_part( 'content', 'single-product' );
} elseif (is_product_category('elektro')) {
echo 'In elektro';
woocommerce_get_template_part( 'content', 'single-product' );
} else {
echo 'some blabla'; } ?>
is_product_category ('slug') não afeta o single-product.php . Eu quero ter os condicionais superiores. Alguma solução para isso em uma página de produto único?
)
? Deveria serif (is_product_category('audio'))
Respostas:
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: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/
:Depois, basta verificar se uma categoria está na lista:
Juntando tudo:
Espero que seja isso que você estava procurando e responda à sua pergunta.
fonte
has_term
deve funcionar neste caso:fonte
if { thing; return;}
Vale a pena notar que você pode percorrer uma lista de opções chamando uma matriz em vez de ter que desordenar seu código com muitas outras verificações, assumindo que você queira fazer o mesmo com cada categoria existente.
fonte
Isso é antigo, mas caso as pessoas ainda estejam procurando o WooThemes como uma solução simples:
* Altere 'your_category' para o que você estiver usando.
Aqui está o link para a documentação: https://docs.woothemes.com/document/remov-product-content-based-on-category/
fonte
Eu
get_categories()
usaria a função da classe WC_Product.Você pode encontrar o link para a documentação aqui .
Basicamente, no loop da página, chame a função para retornar as categorias associadas ao produto.
fonte