pages menue - child pages - und mehr

  • hi,

    ich hab im prinzip 2 probleme bei der darstellung meines pages menues.

    1. ich wuerde gern die child pages (also pages 2. levels) auschliessen.
    da hab ich diesen artikel gefunden
    http://wordpress.org/support/topic/…=11#post-350545

    nur leider sprechen die leute da von einem sidepage.php die ich so nicht habe. ich weiss also nicht recht welchen code teil ich wo ersetzen soll.

    2. http://www.audioterrorism.net/test
    auf der linken seite sieht man das page menue. der letzte punkt "shop" hat 1px border-bottom. wie kann ich bei dem letzten punkt wegbekommen, wenn das alles relativ automatisiert aus der db kommt?

    danke
    dex

    • 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

  • 1)

    PHP
    wp_list_pages('depth=1');

    via depth wird festgelegt, wie "tief" Pages angezeigt werden sollen. Default ist 0 (alle), mit 1 werden nur die Pages erster Ordnung angezeigt.

    2)
    Daran rätsel ich im Moment auch rum, da ich ein ähnliches Problem habe. Übrigens, das Design gefällt mir ausgesprochen gut!

    Gruß Jeriko

    Jeriko - Design, Style, Photographie

  • zu 2) Der letzte Eintrag müsste noch eine id verpasst bekommen, dann kann man den Stil anpassen. Ungefähr so:
    [FONT=monospace]
    [/FONT]

    Code
    <li class="page_item" id="letzter_eintrag">SHOP</li>
    
    
    li #letzter_eintrag: {border-bottom-width: 0;}
  • danke erstmal.

    zu 1. das scheint nicht wirklich zu klappen. ich bin kein php experte darum weiss ich nicht genau ob ich hier einen syntax fehler beim zusammensetzen meines php tags hab. der wie folgt lautet.

    <?php wp_list_pages('title_li=','sort_column=menu_order','depth=1'); ?>


    zu 2. das ist schon klar, das problem ist nur dass das alles aus der db kommt, ich also nicht direkt einfluss darauf habe bestimmten <li>'s irgendwelche id's oder klassen zu verpassen.

  • aha. danke.

    koennte man nun ueber diese display anweisung nicht auch dem letzten punkt, in dem falle "shop" eine css anweisung mitgeben? wie gesagt ich hab keinen schimmer von php.


    gruesse
    frank

  • Leider nicht von Haus aus, an dem Problem kämpfe ich auch ein bisschen herum.

    Es gibt vielleicht noch eine andere Möglichkeit: Angenommen, du möchtest Shop immer ganz unten haben. Dann könntest du diese Seite aus dem WordPress Befehl ausschließen (via exclude=8) und diese Seite dann manuell einfügen, zusammen mit passender Angabe. Ungefähr so:

    PHP
    <?php wp_list_pages('title_li=&sort_column=menu_order&depth=1&exclude=8'); ?> 
    <li class="page_item" style="border-bottom:none;"><a href="http://www.audioterrorism.net/test/?page_id=8" title="Shop">Shop</a></li>

    Gruß Jeriko

    Jeriko - Design, Style, Photographie

  • Zitat

    das problem ist nur dass das alles aus der db kommt, ich also nicht direkt einfluss darauf habe bestimmten <li>'s irgendwelche id's oder klassen zu verpassen.


    Möglich ist alles, du hast ja den Source Code :) Die Funktion _page_level_out in template-functions-post.php ist für die Zusammenstellung der Ausgabe zuständig. Ist aber leider wirklich nicht trivial, da die Funktion rekursiv arbeitet, wenn es sich um eine hierarchische Seitenliste mit mehreren Ebenen handelt. Also dann vielleicht doch lieber die Frickellösung von Jeriko.

  • also theoretisch koennte ich mir vorstellen wie es gehen koennte. es gibt ja sicherlich einen variable page count in der db. wenn man die hat, sagen wir var=5 dann vergleicht man beim auslesen der menuepunkte die auslese schritte immer mit der var und wenn man gleichstand hat, weiss man dass das der letzte menue punkt ist und gibt dem letzten <li> den entsprechenden css tag mit. so das waere erstmal die "niveau 6. klasse" theorie :) jetzt muesstet ihr entscheiden ob das auch in der praxis geht.

    Einmal editiert, zuletzt von dexter (24. März 2006 um 23:07)

  • hat sich erledigt. hab den fehler gefunden.

    nochmal einen nachtrag zum thema child pages excluden. Jeriko deine version mit dem depth=1 funktioniert irgendwie nur wenn man bei mir auf der home ist. ich will eigentlich die child pages ueberhaupt nicht zeigen. jetzt hab ich versucht die betreffenden seiten nicht als childpages zu erstellen sondern als normale "parent" pages. und dann via exclude

    <?php wp_list_pages('exclude=16&title_li=&sort_column=menu_order'); ?>

    nicht darzustellen. das geht aber genau so nicht. es funktioniert nur wenn man auf der homeseite ist.

    mein menue sieht so aus:
    <ul>
    <li><a href="index.php" class="active">Home</a></li>
    <?php wp_list_pages('exclude=16&title_li=&sort_column=menu_order'); ?>
    </ul>

    scheinbar hab ich da irgendwie einen generellen denkfehler.

    gruesse
    frank

    Einmal editiert, zuletzt von dexter (25. März 2006 um 06:55)

  • neues projekt neue probleme.

    ich hab eine navigationstruktur bestehend aus 5 hauptpages und jeweils einigen childpages. ich wuerde gern die hauptnavi und childnavi horizontal getrennt von einander anzeigen.

    also
    menuepunkt | menuepunkt | menuepunkt | menuepunkt | menuepunkt

    childpage | childpage | childpage |

    dazu hab ich das gefunden. http://codex.wordpress.org/Template_Tags/…ist_Child_Pages das sieht schon mal so als wenn das passt, leider bekomm ich einen syntaxfehler. find den fehler auf grund von massiver verwirrtheit in sachen php syntax aber nicht.

    ausserdem steh ich noch vor dem problem. das wenn man auf einen hauptmenuepunkt klickt. der inhalt vom ersten child angezeigt werden soll + hauptmenupunkt und childnavipunkt sollen aktiv sein.

    danke euch
    gruesse
    dex

  • ich habs anders geloest. ich les die childnavigation damit aus
    <?php wp_list_pages("child_of=$post->ID&depth=1&title_li="); ?>

    aber, wie sag ich dem hauptnavipunkt, der childpages, das er bitte active (css) bleiben soll

  • <?php wp_list_pages("child_of=$post->ID&depth=1&title_li="); ?>

    kann ich anstelle child_of=$post->ID da eine konkrete id angeben? also child_of=$post->ID3 zum beispiel?

    danke
    frank

Jetzt mitmachen!

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