TwentyTenはカスタムメニューにいくつかのクラスを追加しています。例えば:
#access #menu-item-262.current-menu-item, #access #menu-item-262.current-menu-ancestor
私のメインナビゲーションのトップレベルのリンクはすべて、ユーザーが子ページにいるときは.current-menu-ancestor
クラスになります - 、自分が作成したカスタム投稿タイプでコンテンツを表示しているとき 。
カスタム投稿タイプを表示しているときに現在のページをナビゲーションに設定するにはどうすればよいですか?
ありがとう….
クラスはTwenty Tenテーマではなく、一般的なカスタムナビゲーションメニューコードの _wp_menu_item_classes_by_context()
に追加されています。これは から呼び出されます。 wp_nav_menu()
。
追加のクラスを追加したい場合は、 wp_nav_menu_objects
(メニューツリー全体で1回呼び出す)、または のいずれかにフックすることで可能です。 nav_menu_css_class
は、個々の項目をレンダリングするときに呼び出されます。
私は答えをタイプアウトしていたので私はこれを考え出した。
Bodyタグ用にheader.phpに:<body <?php body_class(); ?>>
という行がある場合、カスタム投稿テンプレートにはそれぞれ独自の本文クラスがあります。私の場合、そのカスタム投稿タイプのコンテンツはすべてナビゲーションバーの1セクションの下にあるため、宣言の前に本文クラスを追加することができました。つまり、.single-film #menu-item-262
です。ここで、 "film"はカスタム投稿タイプの名前です。
とは言っても、このソリューションは、カスタム投稿タイプがナビゲーションのさまざまな部分にあるサイトでは機能しません。私が行ったよりもこれを実行するためのより良い方法はありますか?
ありがとうございます。