將靜態頁面設置爲首頁不會突出顯示菜單鏈接,這是問題的核心。
所以,你可以服務器端自定義(黑客)的wp_list_pages功能,但這裏有一個客戶端的選項,如果你選擇:
使用jQuery庫(方便它與WP 2.2 +),呼叫:
wp_enqueue_script('jquery');
或加載自己的版本:
wp_enqueue_script('jquery', '/path/to/your/jquery.js', false, '1.2.1');
現在加一點JA的vascript在你的模板,是這樣的:
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');
}
的一:第一部分呈現在你的菜單中的第一個環節是家用/頭版鏈接。如果不是,請通過href值或位置進行選擇。這是一個被現在的位置:
~~~~~~~~~~~~~~~
jQuery(jQuery('#nav > ul > li > a')[3]).addClass('current_page_item'); //add 'current_page_item' css class so menu item highlighting occurs
例子:
< DIV ID = 「導航」 >
<ul>
<li> <a>鏈接0 < /一個> < /鋰>
<利> <一個>鏈接1 < /一個> < /鋰>
<利> <一個>鏈路2 < /一個> < /鋰>
<利> <a>鏈接3 </a > </li >
<利> <一個>鏈路4 < /一個> < /鋰>
<利> <一個>鏈路5 < /一個> < /鋰>
</UL >
</div >
注意事項:
- 檢查你的菜單DIV ID(此處顯示#nav)
- 嵌套的UL /李菜單結構(使多個級別的實際名稱)將需要額外的代碼來正確選擇正確的元素。
- 如果菜單鏈接將發生變化,請勿使用位置選擇技術,請使用其他掛鉤,如鏈接到主頁/首頁的href值。
- if(window.location.href =='http://www.example.com/')部分可能需要是一個正則表達式,如果涉及更多變體(https,多個子域等)。
感謝您的好回答。雖然簡單地看,但我認爲黑客一個新的wp_list_pages函數可能不那麼黑客。如果我這樣做,我也會發布我的代碼。或者,也許我會利用你的答案進入JQuery :) – 2008-10-20 22:39:18