Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

Wie man nur die übergeordnete Kategorie in der WordPress-Beitragsschleife anzeigt

Wir alle wissen, wie wichtig es ist, Inhalte auf einer Website zu organisieren. Bei WPBeginner wissen wir, dass die Verwendung von Kategorien und Unterkategorien den Besuchern hilft, Ihre Website zu erkunden und ihre Platzierung in den Suchergebnissen zu verbessern. Eine gute Struktur der Kategorien hilft den Besuchern auch, das zu finden, was sie brauchen.

Die meisten WordPress Themes listen automatisch alle Kategorien auf, die mit einem Beitrag verbunden sind, auch die Unterkategorien. Das kann für Ihre Besucher sehr verwirrend sein. Wir hatten jedoch kürzlich einen Besucher, der nur die Hauptkategorie auf seiner Seite mit den einzelnen Beiträgen anzeigen lassen wollte. Er wollte, dass sich seine Besucher auf das Hauptthema konzentrieren und nicht von einer Vielzahl von Unterkategorien überwältigt werden.

In diesem Artikel zeigen wir Ihnen, wie Sie mit einem einfachen Stück Code die Anzeige der Kategorien in WordPress ändern können. Auf diese Weise können Sie auf einer Seite mit einem einzelnen Beitrag nur die Hauptkategorie anzeigen lassen, was das Erlebnis Ihrer Website für die Besucher erheblich verbessern kann.

Displaying only the parent category in WordPress loop

Wann wird in WordPress nur die übergeordnete Kategorie angezeigt?

Viele Website-Besitzer verwenden übergeordnete und untergeordnete Kategorien, um eine Struktur für ihre Websites zu schaffen.

In einem Reiseblog können beispielsweise Reiseziele nach Kategorien geordnet sein, wobei jede Region eine übergeordnete Kategorie und die Städte als untergeordnete Kategorien fungieren.

Parent and child categories displayed

In ähnlicher Weise kann ein Food-Blog Rezepte veröffentlichen, die in übergeordnete und untergeordnete Kategorien unterteilt sind. Eine übergeordnete Kategorie könnte zum Beispiel die Art der Küche sein und eine untergeordnete Kategorie die Art des Gerichts.

Die meisten WordPress-Themes verwenden den Template-Tag_category (), um alle mit einem Beitrag verbundenen Kategorien aufzulisten.

Diese Funktion ist effizient, aber sie zeigt alle Kategorien alphabetisch an und ignoriert die Eltern/Kind-Beziehung vollständig.

Schauen wir uns also an, wie man dieses Verhalten ändern und nur die übergeordnete Kategorie in der WordPress-Schleife anzeigen kann.

Nur übergeordnete Kategorie in WordPress-Post-Schleife anzeigen

Für dieses Tutorial müssen Sie Ihre WordPress-Theme-Dateien bearbeiten. Wenn Sie dies noch nicht getan haben, lesen Sie unseren Artikel über das Kopieren und Einfügen von Codeschnipseln in WordPress.

Zunächst müssen Sie einen Code in die Datei functions.php Ihres Themes einfügen oder ein Plugin für Code-Snippets verwenden. Wir empfehlen die Verwendung von WPCode, da Sie damit Code hinzufügen können, ohne dass Ihre Website beschädigt wird, und seine intelligente Code-Snippet-Validierung hilft Ihnen, häufige Code-Fehler zu vermeiden.

In unserem Leitfaden erfahren Sie, wie Sie individuellen Code in WordPress hinzufügen können, ohne Ihre Website zu zerstören.

Für dieses Tutorial werden wir die kostenlose Version von WPCode verwenden. Sie hat zwar nicht alle erweiterten Funktionen der Vollversion, aber sie enthält alles, was Sie für den Anfang brauchen.

Als Erstes müssen Sie das WPCode Plugin installieren und aktivieren. Wenn Sie Hilfe benötigen, können Sie unserer Schritt-für-Schritt-Anleitung zur Installation eines WordPress Plugins folgen.

Nach der Aktivierung können Sie die Seite WPCode ” New Snippet aufrufen

Adding a New Snippet in WPCode

Dadurch wird eine Seite geöffnet, auf der Sie ein individuelles Snippet erstellen können.

Zunächst müssen Sie einen Titel für das Snippet hinzufügen. Danach können Sie das folgende Codeschnipsel kopieren und in das Codevorschau-Fenster einfügen.

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);
}
Adding a Title and Code Snippet to WPCode

Als Nächstes müssen Sie die Option “PHP Snippet” aus dem Dropdown-Menü “Code-Typ” auswählen und den Schalter “Inaktiv” auf “Aktiv” umschalten.

Klicken Sie abschließend auf den Button “Snippet speichern”, um Ihre Einstellungen zu speichern.

In WPCode, Select PHP as the Code Type and Toggle the Snippet Active

Dieser Code erstellt einfach eine neue Funktion wpb_get_parent_terms(). Standardmäßig zeigt diese Funktion nur übergeordnete Kategorien an.

Als Nächstes müssen Sie diese Funktion in Ihren WordPress-Theme-Dateien dort platzieren, wo Sie nur die übergeordnete Kategorie anzeigen möchten.

Um herauszufinden, in welche Vorlagendatei Sie schauen müssen, lesen Sie unser WordPress-Vorlagenhierarchie-Cheatblatt für Anfänger.

Im Grunde suchen Sie nach dem Template-Tag the_category(); innerhalb der WordPress-Schleife. Sobald Sie ihn gefunden haben, müssen Sie ihn durch den folgenden Code ersetzen:

<?php wpb_get_parent_terms(); ?> 

Mit diesem Code wird nur Ihre übergeordnete Kategorie angezeigt.

Wenn Sie mehrere Kategorien haben, die übergeordnete oder eigenständige Kategorien sind, werden alle diese Kategorien ebenfalls angezeigt.

Only parent category displayed

Das Code-Snippet funktioniert auch für alle anderen Taxonomien. Zum Beispiel, WooCommerce Produktkategorien oder jede benutzerdefinierte Taxonomie, die Sie haben können.

Ändern Sie den Code einfach wie folgt:

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

Dieser Code zeigt Produktkategorien für einen WooCommerce-Shop an.

Es werden auch nur die übergeordneten oder eigenständigen Kategorien für ein Produkt angezeigt.

Only parent product category displayed

Wenn Sie eine benutzerdefinierte Taxonomie anzeigen möchten, ersetzen Sie product_cat durch den Namen Ihrer benutzerdefinierten Taxonomie.

Expertenanleitungen zur Anzeige von Kategorien in WordPress

Wir hoffen, dass dieser Artikel Ihnen geholfen hat zu lernen, wie Sie nur die übergeordnete Kategorie für Ihre WordPress Beiträge anzeigen können. Vielleicht interessieren Sie sich auch für einige andere Anleitungen zur Anzeige von WordPress Kategorien:

Wenn Ihnen dieser Artikel gefallen hat, dann abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Videotutorials. Sie können uns auch auf Twitter und Facebook finden.

Offenlegung: Unsere Inhalte werden von unseren Lesern unterstützt. Das bedeutet, dass wir möglicherweise eine Provision verdienen, wenn Sie auf einige unserer Links klicken. Mehr dazu erfahren Sie unter Wie WPBeginner finanziert wird , warum das wichtig ist und wie Sie uns unterstützen können. Hier finden Sie unseren redaktionellen Prozess .

Avatar

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

Das ultimative WordPress Toolkit

Erhalte KOSTENLOSEN Zugang zu unserem Toolkit - eine Sammlung von WordPress-bezogenen Produkten und Ressourcen, die jeder Profi haben sollte!

Reader Interactions

11 KommentareEine Antwort hinterlassen

  1. Davide

    Great! And if i want to give a different css to these categories?

  2. Nithi

    How to display only Child category? (Like in the image, “Thesis” above? )

    • Cami Tirapani

      I’m wondering the same thing. :/

      • Joseph

        I know its old, but that would just be the current category

  3. AselHora

    put date stamps to your posts. this way we know when you wrote it and not include code snippets 5 years old.

Eine Antwort hinterlassen

Danke, dass du einen Kommentar hinterlassen möchtest. Bitte beachte, dass alle Kommentare nach unseren kommentarpolitik moderiert werden und deine E-Mail-Adresse NICHT veröffentlicht wird. Bitte verwende KEINE Schlüsselwörter im Namensfeld. Lass uns ein persönliches und sinnvolles Gespräch führen.