current_page_item und custom page templates

  • Hallo Community...

    Bei dem Blog an dem ich gerade arbeite, werden die statischen Seiten über wp_list_pages() in der Sidebar aufgelistet.
    Die Startseite ist ebenfalls eine statische Seite. Um für diese im Menü ebenfalls das current_page_item zu bekommen, hab ich sie aus wp_list_pages() excludet und sie manuell über das Menü gesetzt (ist ja eh die erste Seite in der Navigation). Die Klasse current_page_item bekommt der Startseite-Link dann über das Conitional Tag is_home().

    Zwei der statischen Seiten benutzen ein "custom page template". Bei diesen Seiten funktioniert das current_page_item im Menü nicht. Stattdessen scheint auch bei diesen Seiten is_home() zu greifen und der Startseite-Link bekommt current_page_item.

    Klar könnte ich nun auf wp_list_pages() verzichten und das ganze Menü einfach statisch machen...
    Aber gibts auch nen anderen (bequemeren) Weg?

    Also bekomme ich bei Seiten mit custom page template irgendwie das current_page_item durch wp_list_pages?

    Gruß

    Simbo

    • 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

  • Wie genau sieht denn das IF für die Home-Seite aus?
    wp_list_pages müsste nämlich auch für "custom template"-Seiten das current_page_item richtig mitliefern.

    Probier mal so:

    PHP
    <ul>
      <?php if (is_home()) { ?>
        <li class="current_page_item"><a href="<?php echo get_settings('home'); ?>" title="Home">Home</a></li>
      <?php } else { ?>
        <li><a href="<?php echo get_settings('home'); ?>" title="Home">Home</a></li>
      <?php } ?>
    
    
      <?php wp_list_pages('depth=1&title_li='); ?>
      </ul>

    [size=10]Bitte immer zuerst die Forensuche nutzen und erst danach Deine Fragen hier im Forum stellen, denn sehr vieles wurde schon mehrfach beantwortet. Bitte dabei auch die Forenregeln beachten.
    Kein Support per PN - Fragen gehören ins Forum.[/SIZE]
    [size=8]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/SIZE]

  • Das sieht bei mir so aus:

    PHP
    <ul class="pages">
    	<li class="page_item page-item-5 <?=is_home()?'current_page_item':''?>"><a href="<?=get_settings('home')?>" title="Startseite">Startseite</a></li>
    	<? wp_list_pages('title_li=&depth=1&sort_column=menu_order&exclude=2,5,47') ?>
    </ul>

    Bisschen kürzer aber im Grunde das selbe...
    ...aber es kommt eben kein current_page_item bei Seiten mit custom page template...

    [EDIT]
    Fehler gefunden, Problem behoben, Thema gelöst,...
    Am Ende der beiden Template-Dateien hatte sich irgendwie ein query_posts(5); eingeschlichen... :P

    Einmal editiert, zuletzt von Simbo (22. März 2009 um 12:42)

Jetzt mitmachen!

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