Unserer Erfahrung nach kann es, wenn Sie Ihren WordPress-Beiträgen viele Kategorien hinzufügen, etwas überladen wirken. Mehrere Kategorien, insbesondere Eltern- und Unterkategorien, können Ihre Layouts unübersichtlich machen und es den Lesern erschweren, das zu finden, wonach sie suchen.
Wäre es nicht übersichtlicher, nur die Unterkategorie für jeden Beitrag anzuzeigen ?
Diese Anleitung zeigt Ihnen, wie Sie die Datei Ihres WordPress-Themes anpassen, um nur Unterkategorien in Ihrer Beitrags-Schleife anzuzeigen, was Ihrem Blog ein schlankeres und benutzerfreundlicheres Gefühl verleiht.

Nur die Unterkategorie in Ihrer WordPress-Beitrags-Schleife anzeigen?
Beim Erstellen eines WordPress-Blogs können Sie Ihre Inhalte mithilfe von Kategorien und Schlagwörtern organisieren.
Um den Lesern zu helfen, interessante Inhalte schneller zu finden, können Sie sogar Unterkategorien (oder Subkategorien) erstellen.
Wenn Sie beispielsweise einen Reiseblog haben, könnten Sie eine Kategorie 'Reiseziele' erstellen und dann Unterkategorien wie 'Europa', 'Amerika' und 'Australien' haben.
Standardmäßig zeigen die meisten WordPress-Themes alle Eltern- und Unterkategorien für einen Beitrag an.

Wenn Sie jedoch viele Kategorien verwenden, können Ihre Blogseiten unordentlich und kompliziert aussehen. Es kann es auch schwieriger machen, für die Leser die Kategorie zu finden, an der sie interessiert sind.
Aus diesem Grund möchten Sie möglicherweise die generischen Oberkategorien eines Beitrags ausblenden und nur die Unterkategorien anzeigen. Lassen Sie uns nun sehen, wie Sie nur Unterkategorien in der WordPress-Beitragschleife anzeigen können.
Vor der Bearbeitung einer WordPress-Theme-Datei: Wichtige Punkte, die Sie beachten sollten
Diese Anleitung richtet sich an Personen, die mit dem Programmieren und Bearbeiten von WordPress-Theme-Dateien vertraut sind. Hier sind einige Dinge, die Sie tun sollten, bevor Sie dem Tutorial folgen:
- Zuerst müssen Sie Ihre Website mit FTP verbinden oder den Dateimanager Ihres Webhosters öffnen, um auf diese Dateien zugreifen zu können.
- Wenn Sie Anfänger sind, dann können Sie sich unseren Anfängerleitfaden zum Einfügen von Snippets aus dem Web in WordPress ansehen, um sich im Voraus vorzubereiten.
- Wir empfehlen, ein Backup zu erstellen oder eine Staging-Umgebung zu verwenden, um diese Methode zu befolgen. Auf diese Weise wird Ihre Live-Website nicht beeinträchtigt, falls etwas schiefgeht.
Letztendlich ist dieser Leitfaden nur für klassische WordPress-Themes anwendbar. Block-Themes haben eine andere Struktur für Theme-Dateien.
Nur die Unterkategorie in der WordPress-Beitrags-Schleife anzeigen
In diesem Tutorial zeigen wir Ihnen, wie Sie Ihre Theme-Datei mit dem Bluehost-Dateimanager bearbeiten. Aber unabhängig von Ihrem Hosting-Anbieter sollten die Schritte ähnlich sein.
Melden Sie sich zuerst in Ihrem Bluehost Dashboard an und navigieren Sie zum Tab „Websites“. Klicken Sie dann auf „Einstellungen“ für die Website, die Sie bearbeiten möchten.

Scrollen Sie als Nächstes zum Abschnitt „Schnelllinks“.
Klicken Sie dann auf die Schaltfläche „Dateimanager“.

Dies öffnet den Dateimanager.
Nun müssen Sie den Code in Ihrer Theme-Datei finden, der für die Anzeige von Kategorien zuständig ist. Sie können damit beginnen, indem Sie zum Ordner public_html Ihrer Website gehen » wp-content » themes » Ordner Ihres aktuellen Themes.
Zu diesem Zeitpunkt müssen Sie möglicherweise jede Datei und jeden Ordner einzeln öffnen, um die richtige Datei zum Bearbeiten zu finden. Eine Sache, die Sie tun können, ist, nach kategorienbezogenem Code zu suchen, wie z. B. has_category oder get_the_category_list. Wenn Sie diese finden, dann sollten Sie sich in der richtigen Datei befinden.
Wenn Sie die richtige Vorlagendatei nicht finden können, dann sehen Sie sich unser WordPress-Vorlagenhierarchie-Cheat-Sheet und unseren Leitfaden zum Thema So finden Sie die richtige Theme-Datei zum Bearbeiten an.
Wenn Sie das Twenty Twenty-One-Theme verwenden, dann ist die Datei, nach der Sie suchen sollten, die Datei template-tags im Ordner „inc“. Sobald Sie sie gefunden haben, können Sie mit der rechten Maustaste auf die Datei klicken und „Bearbeiten“ auswählen.

In der Datei ist dies der Ausschnitt, der für die Anzeige der Kategorien und Tags verantwortlich ist:
if ( has_category() || has_tag() ) {
echo '<div class="post-taxonomies">';
$categories_list = get_the_category_list( wp_get_list_item_separator() );
if ( $categories_list ) {
printf(
/* translators: %s: List of categories. */
'<span class="cat-links">' . esc_html__( 'Categorized as %s', 'twentytwentyone' ) . ' </span>',
$categories_list // phpcs:ignore WordPress.Security.EscapeOutput
);
}
$tags_list = get_the_tag_list( '', wp_get_list_item_separator() );
if ( $tags_list && ! is_wp_error( $tags_list ) ) {
printf(
/* translators: %s: List of tags. */
'<span class="tags-links">' . esc_html__( 'Tagged %s', 'twentytwentyone' ) . '</span>',
$tags_list // phpcs:ignore WordPress.Security.EscapeOutput
);
}
echo '</div>';
}
} else {
Jetzt, da Sie den richtigen Code gefunden haben, können Sie diesen gesamten Ausschnitt durch Folgendes ersetzen:
if ( has_category() || has_tag() ) {
echo '<div class="post-taxonomies">';
// Get the list of categories
$categories = get_the_category();
$child_cat_IDs = array(); // Array to store child category IDs
$parent_cat_IDs = array(); // Array to store parent category IDs
foreach ( $categories as $category ) {
if ( $category->parent > 0 ) {
$child_cat_IDs[] = $category->term_id; // Store the child category ID
} else {
$parent_cat_IDs[] = $category->term_id; // Store the parent category ID
}
}
// Output child categories if there are any
if ( !empty($child_cat_IDs) ) {
$output = '<span class="cat-links">' . esc_html__( 'Categorized as ', 'twentytwentyone' ) . ' ';
foreach ( $child_cat_IDs as $cat_id ) {
$cat_link = get_category_link($cat_id);
$cat_name = get_cat_name($cat_id);
$output .= '<a href="' . esc_url($cat_link) . '">' . esc_html($cat_name) . '</a> ';
}
$output .= '</span>'; // Close the span tag after the loop
echo $output; // Output the child category links
// Output parent categories if there are no child categories
} elseif ( !empty($parent_cat_IDs) ) {
$output = '<span class="cat-links">' . esc_html__( 'Categorized as ', 'twentytwentyone' ) . ' ';
foreach ( $parent_cat_IDs as $cat_id ) {
$cat_link = get_category_link($cat_id);
$cat_name = get_cat_name($cat_id);
$output .= '<a href="' . esc_url($cat_link) . '">' . esc_html($cat_name) . '</a> ';
}
$output .= '</span>'; // Close the span tag after the loop
echo $output; // Output the parent category links
}
// Handle tags
$tags_list = get_the_tag_list('', wp_get_list_item_separator());
if ( $tags_list && ! is_wp_error( $tags_list ) ) {
printf(
/* translators: %s: List of tags. */
'<span class="tags-links">' . esc_html__( 'Tagged %s', 'twentytwentyone' ) . '</span>',
$tags_list // phpcs:ignore WordPress.Security.EscapeOutput
);
}
echo '</div>'; // Close post-taxonomies div
}
} else {
Dieser Code-Schnipsel identifiziert zuerst alle Kategorien, die dem Beitrag zugewiesen sind. Dann prüft er, ob jede Kategorie einen Elternteil hat.
Wenn dies der Fall ist, bedeutet dies, dass es sich um eine Unterkategorie handelt und sie zur Anzeigeliste hinzugefügt wird. Übergeordnete Kategorien werden übersprungen, was zu einer übersichtlicheren und spezifischeren Anzeige der Kategorisierung Ihres Beitrags führt.
So sollte es aussehen, wenn Sie den Code ersetzen:

Wenn Sie fertig sind, speichern Sie einfach Ihre Änderungen.
Nun müssen Sie einen Beitrag besuchen, der eine oder mehrere Unterkategorien hat. Sie werden sehen, dass die übergeordnete Kategorie ausgeblendet ist und WordPress nun nur die Unterkategorien anzeigt.

Wir hoffen, dieser Artikel hat Ihnen geholfen zu lernen, wie Sie nur die Unterkategorie in Ihren WordPress-Beiträgen anzeigen. Als Nächstes möchten Sie vielleicht unseren Artikel über das unterschiedliche Styling einzelner Kategorien in WordPress und unseren Leitfaden für Anfänger zum Thema die Suche nach Kategorie in WordPress ansehen.
Wenn Ihnen dieser Artikel gefallen hat, abonnieren Sie bitte unseren YouTube-Kanal für WordPress-Video-Tutorials. Sie finden uns auch auf Twitter und Facebook.

Mike
Geschafft!
foreach((get_the_category()) as $childcat) { $parentcat = $childcat->category_parent; if (cat_is_ancestor_of(10, $childcat)) { echo get_cat_name($parentcat); } }
MIke
Ich habe drei Hauptkategorien und dieser Code funktioniert erfolgreich in meiner Single-Page-Schleife, um den tatsächlich ausgewählten Kategorienamen auszugeben.
Ich möchte jetzt den übergeordneten Elternteil der Kategorie ausgeben. Die Komplikation besteht darin, dass ich zwei Ebenen unter der Hauptkategorie habe (3 Ebenen) und ich den Elternteil auf einer Ebene ausgeben möchte, nicht den Elternteil auf der obersten Ebene. Es scheint einfach zu sein, den übergeordneten Elternteil auszugeben, aber ich habe keinen Code gesehen, der die Kindkategorie einer Enkelkategorie zurückgibt?
amnachohan
Funktioniert es außerhalb der Schleife?
Marian Rick
Das ist ein großartiges Stück Code. Vielen Dank bisher!
Für eines meiner Projekte muss ich weiter gehen und nur die unterste Unterkategorie anzeigen. Es kann also drei Ebenen geben (Formen -> Quadrate -> Große Quadrate). Mit diesem Code werden alle Unters (Quadrate -> Große Quadrate) angezeigt. Wie kann ich diesem Code sagen, dass er den Vorgang wiederholen soll, bis nur das letzte Kind gefunden und angezeigt wird?
Wenn Sie Lösungen dafür haben, sind Sie wieder einmal meine Helden! Machen Sie weiter so mit Ihrer großartigen Arbeit und Ihrem Blog!
GoranJakovljevic
ist es möglich, dies für 2 Kategorien anstelle einer einzelnen zu tun?
gashface
Wie würde ich &orderby=ID einfügen?
Andus Beckus
Das ist großartig, danke!
Aber wie zeigt man Kinder aller Kategorien und nicht nur Katze 10 an?
Be great if someone could help with this.
Redaktion
Wenn Sie versuchen, eine Liste aller Unterkategorien anzuzeigen, verwenden Sie die Funktion wp_list_categories(). Sie verfügt über Parameter, mit denen Sie nur Unterkategorien oder nur Oberkategorien auflisten können. Aber das funktioniert nicht für den Fall, über den wir in diesem Artikel sprechen.
Admin
Mattia
großartig, aber wenn ich nicht „Kategorie 10“, sondern „aktuelle Kategorie“ anzeigen möchte?
Keith Davis
Tolle Informationsschnipsel von euch.
Ich muss mich wirklich mal mit PHP beschäftigen.
Tolle Seite Jungs und ich bemerke, dass ihr Pagerank 6 erreicht habt!
Wie wäre es mit ein paar Beiträgen, wie man seinen Pagerank steigert.