Как выделить активную рубрику и страницу на блоге WordPress
Здравствуйте, дорогие читатели блога. Я вот всегда хотел узнать как на WordPress выделить рубрику и страницу в которой находится пользователь. Другими словами как определить активную рубрику, и задать ей не сложные стили. Честно я не знал как это сделать.
Но главное взяться и по ходу дела оказывается, что это совершенно просто, и к тому же в WordPress для этого всё уже готово. Всего лишь нужно задать соответствующий класс в стилях.
Рубрики
На блогах WordPress рубрики выводятся с помощью функции wp_nav_menu, которая в коде разбивает ссылки на списки ul и li. Если посмотреть на исходный код, то каждой категории прописан класс menu-item. А той категории в которой находится пользователь, или активная категория, прописывается класс current-menu-item. Добавляется слово current.
Давайте посмотрим как это выглядит в коде:
<nav> <ul> <li id="menu-item"><a href="#">Иконки</a></li> <li id="menu-item"><a href="#">Кнопки</a></li> </ul> </nav>
Так выглядят не активные рубрики, например если пользователь находится на главной.
А вот так выглядит активная рубрика «Иконки»:
<nav> <ul> <li id="current-menu-item"><a href="#">Иконки</a></li> <li id="menu-item"><a href="#">Кнопки</a></li> </ul> </nav>
Теперь просто этому классу нужно задать соответствующие стили, например такие:
.current-menu-item a { background: #f9f9f9; }
Теперь фон данной активной ссылки станет светло серым.
Теперь давайте перейдём к страницам.
Страницы
Тут принцип тот же самый, что и в рубриках только не много другой класс которому нужно задать свои стили.
При не активной странице спискам задаётся вот этот класс page_item, а той странице где находится пользователь (активной) задаётся класс current_page_item. Таким образом просто нужно задать стили этому классу:
ul li.current_page_item a { color:#000; border-bottom: 2px solid #e75a5a; }
После того как пользователь перейдёт на страницу цвет ссылки изменится на чёрный и выделится красной линией.
Вот и всё, друзья. Пост получился не большим но надеюсь информативным :-) До скорых встреч.