Wordpress: habe ich von der zweiten Seite „Home“ los zu werden, aber es ist nicht gut genug
Frage
Ich habe eine Wordpress-Seite (2.6.2), in dem ich die Startseite auf eine statische Seite gesetzt haben statt der normalen Beiträge Seite. Die ID dieser Seite 2, so in der Wordpress-Vorlage ich die wp_list_pages
geändert habe wie folgt aussehen:
<?php wp_list_pages('exclude=2&title_li=&depth=1' ); ?>
das funktioniert gut, aber jetzt ist die Homepage nicht bekommt „leuchtet“, wenn es ausgewählt ist (weil in der Tat ist es page_id 2 ist, der ausgewählt wird, und es im Menü nicht angezeigt). Gibt es eine einfache Möglichkeit, um dies?
Wenn nicht, in groben Zügen, was ist der harte Weg, um dies? Machen Sie meine eigene Version der wp_list_pages
Funktion?
Danke!
Lösung
Einstellen eine statische Seite als die vordere Seite des Menü Link doens't markiert, die am Kern der Frage ist.
So können Sie serverseitige customize (Hack) die wp_list_pages Funktion, aber hier ist eine clientseitige Option, wenn Sie so wählen:
Verwenden Sie die jQuery-Bibliothek (bequem kommt es mit WP 2.2 +), rufen Sie:
wp_enqueue_script('jquery');
oder laden Sie Ihre eigene Version:
wp_enqueue_script( 'jquery', '/path/to/your/jquery.js', false, '1.2.1');
Jetzt ein bisschen Javascript in Ihrer Vorlage hinzufügen, so etwas wie:
if(window.location.href == 'http://www.example.com/'){ //checks for root path - "home" ('http://www.example.com/?p=7' or 'http://www.example.com/2008-10/7' will not match)
jQuery('#nav > ul > li > a:first').addClass('current_page_item');
}
Die a: erste Seite Teil nimmt das erste Glied in Ihrem Menü der Link home / Titelseite ist. Wenn es nicht, wählen Sie über href Wert oder Position. Hier ist von Postion:
~~~~~~~~~~~~~~~
jQuery(jQuery('#nav > ul > li > a')[3]).addClass('current_page_item'); //add 'current_page_item' css class so menu item highlighting occurs
Beispiel:
Caveats:
- Überprüfen Sie für den tatsächlichen Namen Ihres Menüs div id ( #nav hier gezeigt)
- Eine verschachtelte ul / li Menüstruktur (so mehr als eine Ebene) erfordert zusätzlichen Code richtig Auswahl der richtigen a -Element.
- Wenn Menü-Links ändern werden, keine Positionsauswahltechnik verwenden, einen anderen Haken verwenden, wie die href Wert der Link auf die Startseite / Titelseite.
- Die if (window.location.href == ‚ http://www.example.com/ ') Teil muß einen regulären Ausdruck sein kann, wenn mehr Variation beteiligt ist (https, mehrere Sub-Domains, etc).
Andere Tipps
Sie können eine statische Seite als die Titelseite gesetzt in der Verwaltung> Einstellungen> Panel Lese, nachdem er als Administrator anmelden.
Das Wordpress manuelle Eingabe zu diesem Thema finden Sie hier .