Jak na świecie mogę sprawdzić, czy produkt należy do określonej kategorii produktów na 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 („ślimak”) nie ma wpływu na single-product.php . Chcę mieć górne warunki warunkowe. Jakieś rozwiązanie tego na stronie jednego produktu?
)
? Powinno byćif (is_product_category('audio'))
Odpowiedzi:
Nie sądzę, że
get_categories()
jest to najlepsza opcja dla Ciebie w tym przypadku, ponieważ zwraca ciąg ze wszystkimi kategoriami wymienionymi jako tagi kotwicy, dobrze do wyświetlania, ale nie jest świetny do zrozumienia w kodzie, jakie są kategorie. Ok, więc pierwszą rzeczą, którą musisz zrobić, to pobrać obiekt produktu / postu dla bieżącej strony, jeśli jeszcze go nie masz:Następnie możesz uzyskać obiekty terminu kategorii produktu (kategorie) dla produktu. Tutaj przekształcam obiekty terminów kategorii w prostą tablicę o nazwie,
$categories
aby łatwiej było zobaczyć, jakie ślimaki są przypisane. Pamiętaj, że spowoduje to zwrócenie wszystkich kategorii przypisanych do produktu, a nie tylko tej z bieżącej strony, tj. Jeśli jesteśmy na/shop/audio/funzo/
:Następnie musimy tylko sprawdzić, czy kategoria znajduje się na liście:
Kładąc wszystko razem:
Mam nadzieję, że tego właśnie szukałeś i odpowiada na twoje pytanie.
źródło
has_term
powinien działać w tym przypadku:źródło
if { thing; return;}
Warto zauważyć, że możesz przeglądać listę opcji, wywołując tablicę, zamiast zaśmiecać kod wieloma kontrolami elseif, zakładając, że chcesz zrobić to samo z każdą kategorią.
źródło
Jest to stare, ale na wypadek, gdyby ludzie nadal szukali WooThemes jako prostego rozwiązania:
* Zmień „twoja_kategoria” na cokolwiek używasz.
Oto link do dokumentacji: https://docs.woothemes.com/document/remov-product-content-based-on-category/
źródło
Chciałbym użyć
get_categories()
funkcji klasy WC_Product.Link do dokumentacji można znaleźć tutaj .
Zasadniczo w pętli strony wywołuje funkcję, aby zwrócić kategorie związane z produktem.
źródło