Geteilte Seiten-Navigation

  • Hallo, allerseits!

    Ich habe mir mit viel Try&Error mein eigenes Theme gebastelt und scheitere nur noch an einer Frage: der geteilten Seiten-Navigation.

    In diesem Forum hab ich schon einige Tipps gelesen, allerdings kam bei mir nie das heraus, was herauskommen sollte: Eine Liste der Unterseiten, nur Ebene 2, und nur dann, wenn überhaupt Unterseiten angelegt sind.

    Da ich mit der entsprechenden Datei im "default-deleer" aufgrund des Info-Overflows :oops: sowieso nicht zurechtkam, habe ich auf einen Tipp hin eine andere sidebar.php (stammt, glaube ich, ursprünglich aus dem Theme Silicon) übernommen. Allerdings wird nur dann die Liste der Unterseiten angezeigt, wenn man keine Widgets benutzt. Und das Widget "Seiten" lässt einen nur generell bestimmte Seiten auschließen.

    Jetzt wollte ich mit dem Text/HTML-Widget die entsprechende PHP-Funktion benutzen, aber das führt zu einem "fatal error" (RoleManager und Exec-PHP sind installiert).

    Meine Website liegt bei 1+1, auf meinem Server läuft inzwischen PHP 5, und ich bin ein PHP-Newbie, allerdings grundsätzlich nicht ganz unbedarft, was Programmierung und Scripting angeht. ;)

    Alles was ich wissen muss, ist, welchen Block ich aus der sidebar.php (unten zitiert) in das Text/HTML Widget kopieren muss, damit jeweils nur die Unterseiten der zweiten Ebene (nur Kinder, keine Kindeskinder) angezeigt werden.

    Im Voraus schon mal vielen Dank und liebe Grüße,

    Iris Kammerer

    PS: Besagte Website findet man hier: Iris Kammerer - Website der Schrifstellerin


    Einmal editiert, zuletzt von Iris Kammerer (26. Juli 2008 um 17:23)

    • 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

  • Hallo, marX!

    Halbwegs hilft das - allerdings ergibt das erstmal nur eine blanke Liste.

    Der Übersicht halber würde ich diese Liste gerne als Menü mit Überschrift und größerem Zeilenabstand gestalten. Aber wie ich die unter Markup and styling of page items beschriebene Gestaltung vornehme, das will mir nicht aufgehen.

    Wahrscheinlich stehe ich bloß auf dem Schlauch, aber wenn ich es richtig verstehe, kann ich die list-pages-Funktionen im vorherigen Absatz einfach in meine sidebar.php einfügen. Wenn ich das allerdings mit dem HTML-Mix unter Markup and styling of page items mache, dann zeigt WP mir doch bloß an, was in den eckigen Klammern steht, oder seh ich das falsch?

    Herzliche Grüße,

    Iris Kammerer

  • Halbwegs hilft das - allerdings ergibt das erstmal nur eine blanke Liste.


    Ja. Diese kannst du dann per CSS stylen wie du möchtest. Dafür kannst du der ganzen Liste eine ID/Klasse geben, und die Hierachie der verschachtelten Liste nutzen, die Klassen der einzelnen Links... Das sollte für die meisten Anwendungen reichen. Für die Überschrift kannst du den "title_li"-Parameter nutzen.

    Zitat

    Wenn ich das allerdings mit dem HTML-Mix unter Markup and styling of page items mache, dann zeigt WP mir doch bloß an, was in den eckigen Klammern steht, oder seh ich das falsch?


    Nein. Das ist ja auch nur ein Beispiel für eine von WP generierte Seitenliste mit den o.g. Klassen für aktuelle Seite, Elternseite der aktuellen Seite u. den weiteren Seiten.

  • Diese kannst du dann per CSS stylen wie du möchtest. Dafür kannst du der ganzen Liste eine ID/Klasse geben, und die Hierachie der verschachtelten Liste nutzen, die Klassen der einzelnen Links... Das sollte für die meisten Anwendungen reichen. Für die Überschrift kannst du den "title_li"-Parameter nutzen.


    Tja, und genau das kann der PHP-Newbie noch nicht. :oops: Da blicke ich einfach noch nicht durch und bastele mir bisher lauter blöde Fehler hinein.
    Naja, probieren geht über studieren. Vielen Dank nochmals!

    Herzliche Grüße,

    Iris Kammerer

  • Nun ... ich hab jetzt mal die index.php um den im Codex unter List subpages even if on a subpage zitierten Code erweitert, und zwar erst mal über dem Loop, damit ich was sehe. (In der Sidebar funktioniert das Script ja nicht, wenn man - wie ich - Widgets verwendet.)

    PHP
    <?php get_header(); ?>
      <div id="content">
      <?php if($post->post_parent) $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0"); else $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0"); if ($children) { ?> <ul> <?php echo $children; ?> </ul> <?php } ?>

    Aber leider sehe ich nichts. Die Unterseiten werden nicht aufgelistet. Im generierten Seitenquelltext taucht der Code bzw. seine Umsetzung in HTML weder in Firebug, noch in der Quellcodeanzeige des Browsers auf. (Ich hab überprüft, ob die richtige Datei an der richtigen Stelle auf dem Server liegt! ;-))

    Was mache ich verkehrt? :confused:

    Herzliche Grüße,

    Iris Kammerer

  • Bingo! Ich hab 's kapiert! :-D WP nimmt bei Seiten offenbar primär die page.php! (Hätte ich mir eigentlich denken können ... :oops:)

    Okay, jetzt muss ich diese Liste mit den Unterseiten via Stylesheet nur noch in ein hübsch eingekasteltes Inhaltsverzeichnis umwandeln, dann passt es.

    Herzlichen Dank und viele Grüße!

    Iris Kammerer

Jetzt mitmachen!

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