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.
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.
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
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);
}
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.
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.
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.
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:
- Wie man nur die untergeordnete Kategorie in der WordPress-Post-Schleife anzeigt
- Wie man Unterkategorien auf Kategorieseiten in WordPress anzeigt
- Wie man Kategoriebeschreibungen in WordPress anzeigt
- Wie man die Kategorie-Reihenfolge in WordPress ändert
- Wie man die letzten Beiträge einer bestimmten Kategorie in WordPress anzeigt
- Wie man Kategorien in WordPress ein-/ausblendet (ultimative Anleitung)
- Wie man leere Kategorien in WordPress Widgets anzeigt
- Wie man einzelne Kategorien in WordPress unterschiedlich gestaltet
- Wie Sie Ihre Unterkategorien in WordPress ausblenden oder gestalten
- Hinzufügen von Taxonomiebildern (Kategoriesymbole) in WordPress
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.
Davide
Great! And if i want to give a different css to these categories?
Pedrille
Awesome ! thks
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
sathish
very useful
JordashTalon
You should vote this post up on WordPress I’ve noticed a huge lack of adding the Depth feature to WordPress Functions: http://wordpress.org/extend/ideas/topic/add-depth-parameter-to-the_category?replies=3#post-21041
JordashTalon
WordPress Category functions that is
Kate M
Didn’t work for me
AselHora
put date stamps to your posts. this way we know when you wrote it and not include code snippets 5 years old.
John Saddington
great tut!