Mój motyw ma stylizację według kategorii przy użyciu następującego kodu, który wstawia ślimak bieżącej kategorii jako klasę CSS.
<div class="CategorySpecificStyle
<?php $category = get_the_category(); echo $category[0]->slug; ?>">
<?php echo $category[0]->cat_name; ?>
</div>
Teraz zamierzam dodać dużą liczbę nowych podkategorii i wydaje się głupie dodawanie ich wszystkich w CSS, kiedy powinienem być w stanie po prostu wybrać kategorię nadrzędną bieżącego postu i zastosować do tego style.
Udało mi się uzyskać nazwę kategorii nadrzędnej:
$parentcat = get_cat_name($category[0]->category_parent);
Ale spacje (i wielkie litery) to problem ... I wydaje mi się, że nie dostaję ślimaka kategorii nadrzędnej.
Wiem, że prawdopodobnie brakuje mi gdzieś prostego kroku, ale każdy wgląd byłby bardzo mile widziany.
źródło
Podoba mi się poprzednia odpowiedź z @s_ha_dum, ale aby uzyskać kategorię najwyższego poziomu niezależnie od głębokości, skorzystałem z tego, co uważam za prostsze rozwiązanie:
źródło
Jeśli to może pomóc komuś ... w zdobyciu dziecka kota lub rodzica, w zależności od tego,
0
czy1
umieścisz$category
źródło
Możesz to uprościć w następujący sposób:
źródło
Następująca funkcja jest przystosowana do zwracania kategorii głównej :
Stosowanie:
get_root_category()->slug
źródło