Подсветка динамического меню Wordpress, если страница относится к определенной категории

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


person Drhodes    schedule 23.09.2011    source источник


Ответы (1)


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

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

2) Каждое сообщение в разделе "Товары" будет иметь строку основного класса, содержащую класс, который, вероятно, называется products-taxonomy или что-то в этом роде.

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 почти в таком же количестве строк кода. :)

person Vlad Nicula    schedule 23.09.2011