Wordpress: habe ich von der zweiten Seite „Home“ los zu werden, aber es ist nicht gut genug

StackOverflow https://stackoverflow.com/questions/219870

  •  03-07-2019
  •  | 
  •  

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!

War es hilfreich?

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:

  1. Überprüfen Sie für den tatsächlichen Namen Ihres Menüs div id ( #nav hier gezeigt)
  2. Eine verschachtelte ul / li Menüstruktur (so mehr als eine Ebene) erfordert zusätzlichen Code richtig Auswahl der richtigen a -Element.
  3. Wenn Menü-Links ändern werden, keine Positionsauswahltechnik verwenden, einen anderen Haken verwenden, wie die href Wert der Link auf die Startseite / Titelseite.
  4. 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 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top