Support » Allgemeine Fragen » Seiten (als Unterkategorien) auf einer Seite (Hauptkategorie) anzeigen – nur wie

  • Gelöst kinedor

    (@kinedor)


    Hallo liebe WP-Community,

    ich stehe momentan vor dem Problem dass ich aktuell nicht zu lösen weiß. Vermutlich da meine PHP Kenntnisse sehr mangelhaft sind.

    Ich möchte mein Menü folgender Maßen aufbauen auf der Hauptseite:

    Hauptthema (z.b. Sport, Poltik, Lokales)
    Unterthema (z.b. Fußball, Deutschland, Ruhrgebiet)
    Beiträge (z.b. Bericht zum 28. Spieltag, Merkel wiedergewählt, Ruhrzoo öffnet)

    Ich möchte es nun so darstellen, falls möglich, das der Besucher mit einem Klick auf ein Hauptthema, alle Unterthemen angezeigt bekommt und nicht direkt irgendwelche Beiträge. Wie ich Beiträge in einem Unterthema dargestellt bekomme ist kein Problem, hier muss einfach eine Kategorie dem Beitrag zugeordnet werden.

    Könnt ihr mir einen Tipp geben wie ich die Verbindung von Hauptthema und Unterthemen ermöglichen kann?

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Moderator Bego Mario Garde

    (@pixolin)

    Dazu ertellst du ein Child-Theme, kopierst aus dem Parent Theme das Template category.php (falls nicht vorhanden, kopierst du das Template archive.php aus dem Parent Theme als category.php im Child Theme) und fügst dort folgende Funktion hinzu:

    <?php
    $thiscat = get_category( get_query_var( 'cat' ) );
    $cat_id  = $thiscat->cat_ID;
    
    $args    = array(
    	'child_of' => $cat_id,
    );
    $categories = get_categories( $args );
    
    if ( $categories ) {
    		$args = array(
    			'child_of' => $cat_id,
    			'title_li' => '',
    		);
    
    		wp_list_categories( $args );
    }
    ?>

    Jetzt kannst du in Design > Menüs z.B. die Kategorie „Sport“ als Menüeintrag hinzufügen, speichern. Ergebnis ist, dass auf der Seite die Unterkategorien eingeblendet werden:
    Menü Unterkategorien

    Du kannst dieses Menü dann noch im Stylesheet deines Child Themes nach Belieben gestalten. (Das Menü zeigt in dieser Fassung nur Unterkategorien an, für die auch Beiträge vorhanden sind.)

    Falls du Beiträge nur auf den Seiten mit Unterkategorien aufgelistet haben möchtest, kannst du das Ganze noch um ein entsprechendes if-Statement ergänzen:

    if ( ! empty( $thiscat->category_parent ) ) :
    // Hier die Loop einfügen 
    endif;
    Thread-Starter kinedor

    (@kinedor)

    Vielen Dank für deine Antwort.
    Allerdings glaube ich dass ich nicht richtig verstanden wurde.

    Mir geht es nicht um die Anzeige im Menü selbst, sondern als Anzeige in der Seite selbst dann.

    Ich habe mal versucht ein Beispiel dafür zufinden. Auf reisen-fotografie.de/reisen/ wird im Thema Reisen, nochmals Reisen – unsere Themenbereiche angezeigt, wo dann die Unterthmen direkt auf der Seite angezeigt werden.

    Ich habe schon versucht mit Links zu arbeiten, allerdings kam ich damit auch nicht zum Ergebnis.

    Moderator Bego Mario Garde

    (@pixolin)

    Was können wir denn jetzt konkret für dich tun?

    Deine ursprüngliche Frage habe ich so verstanden, dass du auf der Seite einer Hauptkategorie statt aller Beiträge eine Liste der Unterkategorien anzeigen möchtest, die dann auf die jeweiligen Übersichtsseiten aller Beiträge der Unterkategorie verlinkt. Dazu habe ich recherchiert, dir Code zusammengestellt, erklärt wie du ihn in einem Child Theme einbinden kannst und wie du das gestalten kannst (z.B. als ein eigenständiges Menü).

    Ich bin mir im Moment nicht ganz sicher, was ich sonst noch für dich tun könnte, zumal das ohnehin schon etwas mehr Umfang angenommen hatte als beabsichtigt – wir helfen hier ehrenamtlich und in unserer Freizeit und für eine Antwort weit mehr als eine halbe Stunde Zeit einzusetzen ist für mich schon an der Grenze dessen, was ich anbieten möchte.

    Deshalb nochmal: was können wir jetzt ganz konkret für dich tun?

Ansicht von 3 Antworten - 1 bis 3 (von insgesamt 3)
  • Das Thema „Seiten (als Unterkategorien) auf einer Seite (Hauptkategorie) anzeigen – nur wie“ ist für neue Antworten geschlossen.