• 締切済み

2階層目の現在ページをナビで表示させるには

こんにちわ。 WORDPRESSでホームページを作成しております。 添付画像の様にグローバルナビで現在の位置を背景色緑で表示してるのですが、1階層目の時しか表示されません。 WORKSの2階層目である「コンサルティング」も同様にしたいのですが、2階層目も反映してくれるにはどの様なPHPを記述すればいいのでしょうか。 ---------PHP記述--------- <ul id="nav"> <li<?php if(is_home()){echo ' class="current_page_item"';} ?>> <a href="<?php bloginfo('url'); ?>" title="TOP">TOP</a></li> <?php wp_list_pages('title_li=&depth=1'); ?> </ul> --------------------------- ---------CSS(CSSは関係ないと思いますが、一応)------------------ #nav { background-color: #ffffff; margin: 0; padding: 0; list-style-type: none; height: 2em; width: 800px; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: #00645C; } #nav li { text-align: center; float: left; line-height: 2em; } #nav li a { display: block; width: 110px; text-decoration: none; color: #333333; border-top: 1px solid #fff } #nav li a:hover { color: #00645C; border-top-width: 1px; border-right-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-left-style: solid; border-top-color: #00645C; border-right-color: #00645C; border-left-color: #00645C; } #nav .current_page_item a { color: #FFFFFF; background-color: #00645C; border-top: 1px solid #00645C } --------------------------- また、ページ内リンクをしたいのですが、絶対パスで単純にサーバーにアップされてるURLを記述する方法しかないのでしょうか。

みんなの回答

  • t_freak
  • ベストアンサー率70% (12/17)
回答No.1

例えばURLが http://www.exampe.com/works/hoge.html だった場合、 環境変数 $_SERVER['REQUEST_URI'] によってhttp://www.exampe.comより後ろの部分 /works/hoge.html を取得することができます。 $request_url = $_SERVER['REQUEST_URI']; そして、split関数で、“/”をセパレータとして配列に分割。 $a = split("/",$request_url); その結果取得した配列は print_r($a); ↓ Array ( [0] => [1] => works [2] => hoge.html ) ================================================ <ul id="nav"> <li<?php if(is_home()){echo ' class="current_page_item"';} ?>> <a href="<?php bloginfo('url'); ?>" title="TOP">TOP</a></li> <li<?php if($a[1] == "works"){echo ' class="current_page_item"';} ?>> <a href="/works/" title="Works">Works</a></li> </ul> ================================================ wp_list_pages()ではそこまで細かい指定はできないように思われるので、こんな感じでやった方が確実かと。 ページ内リンクは、例えば http://www.exampe.com/works/hoge.html にリンクさせるのであれば <a href="/works/hoge.html">~</a> とやれば、どの階層からでも変わりなく目的のページにリンクさせることができます。

関連するQ&A

専門家に質問してみよう