Як вручну вказати поточну активну сторінку за допомогою wp_nav_menu ()


9

Чи існує спосіб вручну вказати, яка сторінка наразі є "активною" під час використання wp_nav_menu()?

У мене є сторінка "Продукти", і на цій сторінці я маю посилання на різні (динамічні) спеціальні таксономії. Коли я натискаю одну з цих систематик, я залишаюсь на сторінці "Продукти", але wp_nav_menu()втрачаю посилання на той факт, що я все ще перебуваю на сторінці "Продукти". Чи є спосіб я це виправити?

Дякую!

Джон

Відповіді:


12

Якщо ви просто хочете додати current_page_itemклас до одного пункту меню, ви можете підключити його до nav_menu_css_classфільтра та додати цей клас, якщо потрібно. Він називається при друкуванні меню .

Якщо ви хочете отримати доступ до всього меню та додати класи, підключіться до wp_get_nav_menu_itemsфільтра, де ви отримаєте весь $itemsмасив. Ви можете редагувати classesвластивості окремих елементів.


2

@Jon Доки ви використовуєте <body <?php body_class(); ?>>WordPress буде призначати клас current_page_itemсвоєму меню разом із тим, current_page_parentякщо ви використовуєте спадні меню.


1
Привіт Кріс, дякую за відповідь. Я використовую <body <? Php body_class (); ? >> тег, але проблема полягає в тому, що що стосується wp_nav_menu (), то таксономії, які натискають на них, не пов'язані з ним! Отже, мені потрібно сказати wp_nav_menu () - якщо сторінка X, то покажіть "Продукти" як current_page_parent.
Джон

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.