Dynamische Navigation – brauche Hilfe beim PHP-Code

  • Hallo, erstmal Entschuldigung für den langen Post. Ich brauche dringend mal Hilfe von jemandem, der sich mit PHP auskennt, ich komme einfach nicht weiter.


    Ich habe eine horizontale Navigationsleiste gebaut, die soll folgende Bedingungen erfüllen:

    1. Die erste Seite soll eine statische Seite sein und im Menü als „Home“ bezeichnet werden.
    2. Die gerade aufgerufene Seite soll einen statischen Menüpunkt haben, oder jedenfalls so aussehen (währen die anderen Seiten mit einem Rollover angesprochen werden). Dafür habe ich eine eigene Klasse „active“ eingerichtet.
    3. Die Navigation soll automatisch erzeugt werden (also nicht durch eine statische HTML-Liste), damit der HTML-unkundige Benutzer an nichts zu denken braucht, wenn er eine neue Seite anlegt.
    4. Jeder Menüpunkt hat ein eigenes Hintergrund-GIF (habe ich mit Nachbarselektoren gemacht).
    5. Die ganze Site besteht nur aus Seiten und hat keine Posts, ist also kein Blog

    Jetzt habe ich hier zwei Themes, bei denen es eine funktionierende horizontale Navigation gibt, genau wie ich sie mir vorstelle, der Haken ist, dass die Sache nur funktioniert, wenn die erste Seite nicht als statische, sondern als Post („Mein letzter Artikel“) definiert wird.

    BranfordMagazine by DER PRiNZ » A premium magazine style WordPress theme
    Wordpress testsite

    Folgendes passiert, soll aber nicht sein:
    1. Im Menü erscheint zusätzlich zu der als Startseite definierten Seite ein unsichtbarer Menüpunkt, wenn ich also 3 Seiten habe, gibt es eigentlich vier Menüpunkte. „Home“ wird nicht zugewiesen.
    2. Der Menüpunkt für die gerade aufgerufene Seite verhält sich genauso wie die anderen: der Rollover-Effekt ist auch bei der aufgerufenen Seite sichtbar; das bleibt auch so, wenn ich satt der Klasse „active“ die Klasse „current_page_item“ verwende.

    Mir würde ein Stein vom Herzen fallen, wenn ich das mit Eurer Hilfe hinkriegte!

    CSS an der Stelle des statischen Menüpunktes (current item)

    Code
    #menu ul li.active a:link, #menu ul li.active a:hover, #menu ul li.active a:active, #menu ul li.active a:link, #menu ul li.active a:visited {
    background-image: url(images/blau.gif);
    … usw.
    }

    PHP des Menüs

    PHP
    <ul>
    <li><a href="<?php echo get_option('home'); ?>/" class="active">Home</a></li>
    <?php wp_list_pages('title_li='); ?>
    </ul>

    Einmal editiert, zuletzt von Frau_Braun (11. Juni 2008 um 12:40)

    • 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

  • Wenn ich Dich richtig verstanden habe, dann kannst Du Dein Problem wie folgt lösen:
    1. Die Zeile löschen:

    PHP
    <li><a href="<?php echo get_option('home'); ?>/" class="active">Home</a></li>


    2. Im Adminbereich Folgendes ändern:
    Einstellungen->Lesen
    Startseite:
    Eine statische Seite (unten auswählen) aktivieren
    aus der Dropdownliste "Startseite" 1. Seite auswählen
    Änderungen speichern
    Fertig.

    VG Elke

    Es gibt keine dummen Fragen, es gibt nur dumme Antworten...
    http://u-portal.de/



  • Genau das habe ich ja gemacht.
    Was bedeutet eigentlich das "-W" in diesen Einstellungen?

    Edit: P.S.: Kennt jemand ein Plugin, mit dem ich das lösen könnte? Die erste Siet sollte statisch sein können.

    Einmal editiert, zuletzt von Frau_Braun (9. Mai 2008 um 16:48)

  • Die genannte Zeile musst Du aus Deiner header.php, die sich in Deinem Template-Ordner befindet, löschen. (Das hast Du noch nicht gemacht, oder?)
    Benenne dann die Seite Erste Seite in Home um.

    Es gibt keine dummen Fragen, es gibt nur dumme Antworten...
    http://u-portal.de/

  • Das habe ich jetzt so gemacht, aber dann erscheint das Wort "Home" auch als Überschrift auf der Seite (könnte ich mit CSS unsichtbar machen). Was noch seltsamer ist: der erste Navigator-Reiter ist nach wie vor unsichtbar. Mir ist schleierhaft, warum.

  • Nein, am CSS liegt es höchstwahrscheinlich nicht. Ich werde mich noch mal hinsetzen, alles von vorne durchgehen und mit anderen Themes vergleichne müssen. Ich melde mich erst mal ab. Danke für die Rückmeldungen und schöne Pfingesten!

Jetzt mitmachen!

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