W artykule:
Czy chcesz wyświetlać tylko kategorię dziecka w swojej pętli postów WordPress?
Większość motywów WordPress automatycznie wyświetli wszystkie kategorie dla postu, w tym kategorie rodziców i dzieci. Co zrobić, jeśli chcesz wyświetlić tylko kategorię podrzędną?
W tym artykule pokażemy, jak łatwo wyświetlić tylko kategorię dziecka w pętli postu WordPress.

Dlaczego i kiedy chcesz pokazać tylko kategorię dziecka
WordPress zawiera dwie domyślne taksonomie zwane kategoriami i tagami do organizowania treści. Wiele stron internetowych używa tagów dla konkretnych tematów każdego artykułu i kategorii dla szerszych sekcji witryny.
Są też strony internetowe, które używają kategorii do definiowania struktury swojej strony internetowej. Na przykład strona podróżnicza może używać kategorii dla różnych typów miejsc docelowych, lub blog kulinarny może używać ich dla różnych rodzajów kuchni.
Kategorie są również hierarchiczne, co oznacza, że możesz tworzyć kategorie podrzędne (lub podkategorie) dla kategorii nadrzędnej, aby dalej organizować treści. Na przykład strona internetowa poświęcona podróżom może umieścić artykuł w sekcji „Destinations” Europa, w której Europa jest kategorią dziecka.
Domyślnie motyw WordPress wyświetli wszystkie kategorie rodziców i dzieci dla postu.

Jednak wyświetlanie wszystkich kategorii dla postu może nie wyglądać tak schludnie i koncentruje się, jak wyświetlanie najbardziej odpowiedniej kategorii. W takim przypadku możesz pominąć kategorię nadrzędną i zamiast tego wyświetlić tylko kategorię podrzędną.
Mając to na uwadze, przyjrzyjmy się, jak wyświetlać tylko kategorię dziecka dla postu WordPress.
Wyświetlanie tylko kategorii potomnej dla postu WordPress
Ten poradnik wymaga podstawowej wiedzy na temat kopiowania i wklejania niestandardowych fragmentów kodu w WordPress.
Najpierw musisz znaleźć kod w plikach motywów odpowiedzialnych za wyświetlanie kategorii. Zwykle znajduje się w pojedynczym.plik php wewnątrz motywu.
Aby dowiedzieć się więcej, Zobacz nasz szablon hierarchii szablonów WordPress, który pomaga dowiedzieć się, które pliki szablonów są używane do wyświetlania różnych sekcji w motywie WordPress.
Po zlokalizowaniu kodu odpowiedzialnego za wyświetlanie kategorii można go zastąpić następującym kodem.
// Uzyskaj identyfikatory kategorii Dzieci, jeśli takie istnieją
$categories = get_the_category();
foreach ($categories as $category ) {
If ($category->parent > 0) {
$child_cat_ID[] = $category - >term_id;
}
}
// Jeśli nie ma kategorii potomnych, wyświetl kategorie
If (empty ($child_cat_ID)) {
echo get_the_category_list (',',");
// Wyświetl tylko Kategorie potomne
} else {
$child_cat_IDs = implode ( ' ,', $child_cat_ID);
echo '< div class = "post-categories" > Filed under: ';
wp_list_categories(array (
'separator'=>'',
'style'=>",
'include' = > $child_cat_IDs
) );
echo ' < / div>';
}
Nie zapomnij zapisać zmian i przesłać plików motywu z powrotem na serwer.
Możesz teraz odwiedzić pojedynczy post, który ma jedną lub więcej kategorii potomnych. Zauważysz, że ukryje kategorię nadrzędną i wyświetli tylko Kategorie podrzędne.

Jest jeden problem z tym kodem.
Jeśli wybrano kategorię nadrzędną z kategoriami podrzędnymi i inną kategorię pojedynczą, kod pominie kategorię samodzielną. Oznacza to, że w poniższym przykładzie Kategoria „Aktualności” nie będzie wyświetlana.

Jeśli jest to problem dla Twoich potrzeb projektowych, możesz użyć następującego kodu.
// Pobierz identyfikatory kategorii
$categories = get_the_category();
foreach ($categories as $category ) {
If ($category->parent > 0) {
$child_cat_ID[] = $category - >term_id;
// przechowuj identyfikator kategorii nadrzędnej dziecka, aby użyć go później
$parent_cat_ID = $category - > parent;
}
// znajdź kategorie bez rodzica i bez dziecka
If ($category - > parent == 0 & & $category->term_id != = $parent_cat_ID) {
$single_category[] = $category - >term_id;
}
}
// Wyświetl część kodu
// jeśli nie ma kategorii potomnych, to śmiało i wyświetl wszystkie kategorie.
If (empty ($child_cat_ID)) {
echo get_the_category_list (',',");
}
// Jeśli są kategorie potomne to zrób to
else {
$child_cat_IDs = implode ( ' ,', $child_cat_ID) ;
$single_category_id = implode ( ' ,', $single_category);
// Połącz kategorie dzieci i Kategorie bez dzieci
$cats_to_include = $child_cat_IDs . ', ' . $single_category_id ;
// Wyświetl je
echo '< div class = "post-categories" > Filed under: ';
wp_list_categories(array (
'separator'=>'',
'style'=>",
'include' = > $cats_to_include
) );
echo ' < / div>';
}
Ten kod będzie teraz wykluczał tylko Kategorie nadrzędne. Będzie on nadal wyświetlać wszystkie samodzielne kategorie wraz z kategoriami dzieci.

Mamy nadzieję, że ten artykuł pomógł Ci nauczyć się wyświetlać tylko kategorię dziecka w postach WordPress. Możesz również spróbować swoich sił w tych przydatnych sztuczkach dla pliku funkcji WordPress lub rozważyć użycie tych potężnych kreatorów stron WordPress, aby w ogóle nie pisać kodu.
Jeśli podoba Ci się ten artykuł, zasubskrybuj nasz kanał YouTube dla samouczków wideo WordPress. Znajdziesz nas również na Twitterze i Facebooku.