フロントページとして静的ページを設定しても、質問の中心にあるメニューリンクが強調表示されません。
したがって、サーバー側で wp_list_pages 関数をカスタマイズ (ハッキング) することもできますが、その場合のクライアント側のオプションは次のとおりです。
jQuery ライブラリを使用して (便利なことに WP 2.2+ に付属しています)、次のように呼び出します。
wp_enqueue_script('jquery');
または独自のバージョンをロードします。
wp_enqueue_script( 'jquery', '/path/to/your/jquery.js', false, '1.2.1');
次に、テンプレートに次のような JavaScript を少し追加します。
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');
}
a:first部分は、メニューの最初のリンクがホーム/フロントページ リンクであると想定しています。そうでない場合は、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 </a > </li >
<li > <a >リンク 1 </a > </li >
<li > <a >リンク 2 </a > </li >
<li > <a >リンク 3 </a > </li >
<li > <a >リンク 4 </a > </li >
<li > <a >リンク 5 </a > </li >
< /ul >
</div >
警告:
- メニュー div id の実際の名前を確認します (ここに#navが表示されます)
- ネストされた ul/li メニュー構造 (複数レベル) では、正しいa要素を適切に選択するために追加のコードが必要になります。
- メニュー リンクが変更される場合は、位置選択手法を使用しないでください。ホーム/フロント ページへのリンクの href 値など、別のフックを使用してください。
- if(window.location.href == ' http://www.example.com/ ')部分は、より多くのバリエーションが含まれる場合 (https、複数のサブドメインなど)、正規表現が必要になる場合があります。