2011-08-02 7 views
0

私のカスタムメニューにではないのページがリンクされています。このページには親ページがあり、で、カスタムメニューにリンクしています。サブページの1つを表示しているときにトップレベルのリンクを強調表示

「リンクされていない」ページに移動すると、メニューの親ページのリンクが強調表示されます。

私がしたいことをする方法はありますか?

+0

英語を心配する必要はありません。とにかく普遍的なコードですが、共有することはありますか?どのようにこのカスタムメニューを作成していますか?関連ビットで[編集]し、コードの書式設定ツールに注意してください。 –

+0

iframe内にありますか? –

+0

ご返信ありがとうございます。私はworpress 3.0を使用し、カスタムメニュー(ドラッグアンドドロップ - 外観>メニュー)を作成する可能性があります。私は自分で何もコード化しなかった。これらのカスタムメニューはメニュースタイルとしてリストを使用します。 – Silke

答えて

0

親ページ項目のクラスを変更するには、wp_get_nav_menu_itemsを使用する必要があります。例:

function my_menu_items_hook($items, $menu, $args) { 

    if ('my-menu-slug' == $menu->slug) { 
    if ('/my-child/' == $_SERVER['REQUEST_URI']) { // check if current page is child page 
     foreach ($items as $key => $value) { 
     if (YOUR_PARENT_PAGE_ID == $value->ID) { 
      $items[$key]->classes[] = 'current-menu-item'; 
     } 
     } 
    } 
    } 

    return $items; 
} 

add_action('wp_get_nav_menu_items', 'my_menu_items_hook', 10, 3); 

あなたの子ページはパラメータを持つことができれば、あなたはより良い代わりに$ _SERVER [「REQUEST_URI」]値を確認し、通常のexpresionやSUBSTR関数を使用します。

関連する問題