Unterseiten der übergeordneten Seite darstellen

  • Guten Abend!
    Zu meiner Frage habe ich schon überall geschaut, die Forensuche benutzt und so weiter. Es gibt viele, die ähnliche Fragen gestellt haben, bei denen mir die Antwort trotzdem nicht geholfen hat.

    Der Aufbau:
    Ich habe eine Hauptnavigation mit dem Punkt Getränke. Dazu habe ich mehrere Unterseiten mit Cola, Wasser, Apfelsaft. Zu diesen gibt es jeweils nochmals Unterseiten mit Entstehung, Informationen.

    Getränke
    - Cola
    -- Entstehung
    -- Informationen
    - Wasser
    -- Entstehung
    -- Informationen
    - Apfelsaft
    -- Entstehung
    -- Informationen

    Die Hauptseite ist in einer horizontalen Navigation und hat das Standard-Template.
    Die Unterseiten (Cola, Wasser, Apfelsaft) haben ein extra Template.
    Die Subunterseiten (Entstehung, Informationen) haben auch ein anderes Template.

    Das Problem:
    Wenn ich auf einer Unterseite bin (Cola, Wasser, Apfelsaft), sollen nur die Subunterseiten zu diesem Element auftauchen. Nur wird mir wenn ich auf dem Punkt Wasser bin auch die Subunterseiten von Cola und Apfelsaft angezeigt.

    Bilder:
    Hauptseite ist angewählt (alles super):

    Wasser angewählt und die Subunterseiten von Cola werden mit eingeblendet:

    Cola ist angewählt, und die erste Subseite von Wasser ist sichtbar:

    Der Code:

    Hauptseite:

    PHP
    <?php         // Render Subnavigation        if ($post->post_parent == "0"):             $submenu_parent = get_the_ID();        else :            $lastancestor = count($post->ancestors) - 1;            $submenu_parent = $post->ancestors[$lastancestor];        endif;        $my_list = wp_list_pages(            array(                'title_li' => "",                 'child_of' => $submenu_parent,                'depth' => 1,                'echo' => 0                )            );        if (!empty($my_list)):            print "<ul class='submenu'>\n".$my_list."\n</ul>\n";        endif;        ?>

    Unterseite:

    PHP
    <?php            if($post->post_parent) { //Die Seite ist "Kind-Seite"              wp_list_pages('title_li=&child_of='.$post->post_parent);            }            elseif(wp_list_pages("child_of=".$post->ID."&echo=0")) { //Die Seite hat "Kinder"              wp_list_pages('title_li=&child_of='.$post->ID);            }          ?>

    Subunterseite:

    PHP
    <?php         // Render Subnavigation        if ($post->post_parent == "0"):             $submenu_parent = get_the_ID();        else :            $lastancestor = count($post->ancestors) - 1;            $submenu_parent = $post->ancestors[$lastancestor];        endif;        $my_list = wp_list_pages(            array(                'title_li' => "",                 'child_of' => $submenu_parent,                'depth' => 2,                'echo' => 0                )            );        if (!empty($my_list)):            print "<ul class='submenu'>\n".$my_list."\n</ul>\n";        endif;        ?>


    Ich hoffe so, dass ihr mir helfen könnt, da ich schon lange an dem Problem hänge.
    Gerne könnt ihr auch noch mal Fragen stellen, falls etwas unklar ist.

    Viele Grüße!

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Habe es jetzt via jQuery gelöst.

    $(document).ready(function(){

    $('#unterseiten_box ul li:not(.current_page_item) ul.children li').css('display' , 'none');

    });

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!