Zaufane samouczki WordPress, kiedy ich najbardziej potrzebujesz.
Przewodnik dla początkujących po WordPressie
WPB Cup
25 milionów+
Witryny korzystające z naszych wtyczek
16+
Lata doświadczenia z WordPressem
3000+
Samouczki WordPress od ekspertów

Jak wyświetlić tylko kategorię nadrzędną w pętli postów WordPress

Wszyscy wiemy, jak ważne jest organizowanie treści na stronie internetowej. W WPBeginner rozumiemy, że korzystanie z kategorii i podkategorii pomaga odwiedzającym przeglądać witrynę i poprawia jej pozycję w wynikach wyszukiwania. Dobra struktura kategorii pomaga również odwiedzającym znaleźć to, czego potrzebują.

Większość motywów WordPress automatycznie wyświetla wszystkie kategorie powiązane z postem, nawet podkategorie. Może to bardzo mylić odwiedzających. Jednak niedawno jeden z naszych czytelników chciał wyświetlać tylko główną kategorię na swojej stronie pojedynczego posta. Chciał, aby jego odwiedzający skupili się na głównym temacie, zamiast być przytłoczonymi wieloma podkategoriami.

W tym artykule pokażemy Ci, jak użyć prostego fragmentu kodu do modyfikacji sposobu wyświetlania kategorii przez WordPress. Pozwoli to na wyświetlanie tylko głównej kategorii na stronie pojedynczego wpisu, co może znacznie poprawić wrażenia użytkowników z korzystania z Twojej witryny.

Wyświetlanie tylko kategorii nadrzędnej w pętli WordPress

Kiedy wyświetlać tylko główną kategorię w WordPress

Wielu właścicieli witryn używa kategorii nadrzędnych i podrzędnych do tworzenia struktury swoich witryn.

Na przykład, blog podróżniczy może mieć miejsca podróży zorganizowane według kategorii, gdzie każdy region jest kategorią nadrzędną, a miasta kategoriami podrzędnymi.

Kategorie nadrzędne i podrzędne wyświetlane

Podobnie, blog kulinarny może publikować przepisy zorganizowane w kategorie nadrzędne i podrzędne. Na przykład, kategorią nadrzędną może być typ kuchni, a kategorią podrzędną typ dania.

Obecnie większość motywów WordPress używa the_category() tagu szablonu do wyświetlania wszystkich kategorii powiązanych z postem.

Ta funkcja jest wydajna, ale wyświetli wszystkie kategorie alfabetycznie i całkowicie zignoruje relację rodzic-dziecko.

Mając to na uwadze, przyjrzyjmy się, jak zmienić to zachowanie i wyświetlać tylko kategorię nadrzędną w pętli WordPress.

Wyświetl tylko kategorię nadrzędną w pętli wpisów WordPress

Do tego samouczka będziesz musiał edytować pliki motywu WordPress. Jeśli nigdy tego nie robiłeś, zapoznaj się z naszym artykułem jak kopiować i wklejać fragmenty kodu w WordPressie.

Najpierw musisz dodać kod do pliku functions.php swojego motywu lub użyć wtyczki do fragmentów kodu. Zalecamy użycie WPCode, ponieważ pozwala ona dodawać kod bez psucia strony, a jej inteligentna walidacja fragmentów kodu pomaga zapobiegać typowym błędom kodu.

Dowiedz się więcej w naszym przewodniku na temat jak dodawać niestandardowy kod w WordPress bez psucia witryny.

W tym samouczku użyjemy darmowej wersji WPCode. Chociaż nie ma ona wszystkich zaawansowanych funkcji pełnej wersji, zawiera wszystko, czego potrzebujesz, aby zacząć.

Pierwszą rzeczą, którą musisz zrobić, jest zainstalowanie i aktywowanie wtyczki WPCode. Jeśli potrzebujesz pomocy, możesz skorzystać z naszego przewodnika krok po kroku na temat jak zainstalować wtyczkę WordPress.

Po aktywacji możesz przejść do strony WPCode » Nowy fragment

Dodawanie nowego fragmentu w WPCode

Otworzy to stronę, na której możesz utworzyć niestandardowy fragment kodu.

Najpierw musisz dodać tytuł dla fragmentu. Następnie możesz skopiować i wkleić poniższy fragment kodu do okna podglądu kodu.

function wpb_get_parent_terms($taxonomy = 'category')
{
    $currentPost = get_post();
    $terms       = get_the_terms($currentPost->ID, $taxonomy);

    if (is_wp_error($terms)) {
        /** @var \WP_Error $terms */
        throw new \Exception($terms->get_error_message());
    }

    $map = array_map(
        function ($term) use ($taxonomy) {
            return '<a href="' . esc_url(get_term_link($term->term_id,
                    $taxonomy)) . '" title="' . esc_attr($term->name) . '">
                ' . $term->name . '
                </a>';
        },
        array_filter($terms, function ($term) {
            return $term->parent == 0;
        })
    );

    return implode(', ', $map);
}
Dodawanie tytułu i fragmentu kodu do WPCode

Następnie musisz wybrać opcję „PHP Snippet” z menu rozwijanego „Code Type” i przełączyć przełącznik „Inactive” na „Active”.

Na koniec upewnij się, że klikniesz przycisk „Zapisz fragment kodu”, aby zapisać swoje ustawienia.

W WPCode wybierz PHP jako typ kodu i przełącz fragment na aktywny

Ten kod po prostu tworzy nową funkcję wpb_get_parent_terms(). Domyślnie ta funkcja będzie wyświetlać tylko kategorie nadrzędne.

Następnie musisz umieścić tę funkcję w plikach motywu WordPress, w miejscu, w którym chcesz wyświetlić samą kategorię nadrzędną.

Aby dowiedzieć się, który plik szablonu należy sprawdzić, zapoznaj się z naszym ściągawką dotyczącą hierarchii szablonów WordPress dla początkujących.

W zasadzie będziesz szukać znacznika szablonu the_category() wewnątrz pętli WordPress. Po jego znalezieniu musisz zastąpić go następującym kodem:

<?php wpb_get_parent_terms(); ?> 

Ten kod wyświetli tylko Twoją kategorię nadrzędną.

Jeśli masz wiele kategorii, które są kategoriami nadrzędnymi lub samodzielnymi, wszystkie takie kategorie również zostaną wyświetlone.

Wyświetlana tylko kategoria nadrzędna

Fragment kodu zadziała również dla wszystkich innych taksonomii. Na przykład kategorie produktów WooCommerce lub dowolna niestandardowa taksonomia, którą możesz mieć.

Po prostu zmodyfikuj kod w następujący sposób:

<?php wpb_get_parent_terms( 'product_cat '); ?>

Ten kod wyświetli kategorie produktów dla sklepu WooCommerce.

Wyświetli również tylko kategorie nadrzędne lub samodzielne dla produktu.

Wyświetlaj tylko główną kategorię produktu

Jeśli chcesz wyświetlić niestandardową taksonomię, zastąp product_cat nazwą swojej niestandardowej taksonomii.

Przewodniki eksperckie dotyczące wyświetlania kategorii w WordPress

Mamy nadzieję, że ten artykuł pomógł Ci dowiedzieć się, jak wyświetlać tylko kategorię nadrzędną dla Twoich postów w WordPressie. Możesz również zapoznać się z innymi poradnikami dotyczącymi wyświetlania kategorii w WordPressie:

Jeśli podobał Ci się ten artykuł, zasubskrybuj nasz kanał YouTube po samouczki wideo WordPress. Możesz nas również znaleźć na Twitterze i Facebooku.

Ujawnienie: Nasze treści są wspierane przez czytelników. Oznacza to, że jeśli klikniesz w niektóre z naszych linków, możemy otrzymać prowizję. Zobacz jak finansowany jest WPBeginner, dlaczego to ważne i jak możesz nas wesprzeć. Oto nasz proces redakcyjny.

Ostateczny zestaw narzędzi WordPress

Uzyskaj BEZPŁATNY dostęp do naszego zestawu narzędzi – kolekcji produktów i zasobów związanych z WordPress, które powinien mieć każdy profesjonalista!

Interakcje czytelników

11 CommentsLeave a Reply

  1. dodaj znaczniki daty do swoich postów. w ten sposób będziemy wiedzieć, kiedy je napisałeś, i nie będziemy uwzględniać fragmentów kodu sprzed 5 lat.

Zostaw odpowiedź

Dziękujemy za pozostawienie komentarza. Pamiętaj, że wszystkie komentarze są moderowane zgodnie z naszą polityką komentowania, a Twój adres e-mail NIE zostanie opublikowany. Prosimy NIE używać słów kluczowych w polu nazwy. Prowadźmy osobistą i znaczącą rozmowę.