Wordpress Динамическое меню подсветка, если страница принадлежит определенной категории - PullRequest
0 голосов
/ 23 сентября 2011

Я ищу способ динамически выделять пункт меню каждый раз, когда пользователь просматривает страницу, назначенную данной таксономии или категории. Например, навигационная панель вверху с пунктами «Продукты» и «Стратегия». Любая страница или публикация, которые созданы и имеют категорию или таксономию «продукт», будут вызывать выделение пункта меню «Продукты», когда вы находитесь на странице этого продукта. Я думаю, что если бы я мог найти способ просто применить класс к этому элементу на основе вышеуказанных критериев, он бы это сделал. Есть идеи? Я поставлен в тупик на этом.

1 Ответ

0 голосов
/ 23 сентября 2011

Я бы порекомендовал подход переднего плана.Вот что я думаю:

1) У вас есть 2 или более категорий: Продукты и Стратегия ...

2) Каждый пост в Продуктах будет иметь строку класса тела, содержащую класскоторый, вероятно, называется продукты-таксономия или что-то в этом роде.

3) С помощью jQuery вы можете проверить продукты-таксономия или стратегия-таксономия и выделите конкретный пункт меню.Это можно легко сделать с помощью селекторов jQuery, при условии, что вы добавляете определенный класс в категорию ваших продуктов при создании меню.

Это будет примерно так:
добавить класс для пункта меню продуктов: 'productsMenu'
добавить класс для элемента меню стратегии:' StrategyMenu '
убедитесь, что вы повторяете body_class

var $body = $(body); // better select just once the body
if($body.hasClass('products-taxonomy')) {
    // highlighetMenuItem should be your highlighting class
    $(".productsMenu").addClass("highlighetMenuItem");  
} else if($body.hasClass('strategy-taxonomy')) {
    $(".strategyMenu").addClass("highlighetMenuItem");
}

И да ... вам нужен jQuery на внешнем интерфейсеесли вы хотите, чтобы это сработало.Или вы можете использовать чистый javaScript почти в столько же строк кода.:)

...