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

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

1 ответ

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

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

2) Каждый пост в Products будет иметь строку класса тела, которая содержит класс, который, вероятно, называется 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 почти в столько же строк кода.:)

Другие вопросы по тегам