как добавить активный класс на текущей странице пункта меню?

<p>у меня есть две ссылки: продукты и новости.</p><p>когда я нажимаю "продукты" или "новости", он возвращает мне страницу архива, содержащую некоторые сообщения, а когда я нажимаю на сообщение, он возвращает мне одну страницу этого сообщения.</p><p>в меню я использую этот код на <code><li></code>, чтобы добавить класс с именем active, если страница домашняя:</p><pre><code><li<?php if(is\_home()) {?> class="active"<?php } ?>> </code></pre><p>но я не знаю, как это сделать, когда у меня есть две страницы архива и две страницы синглов.</p><p>если я использую <code>if( is\_archive() || is\_single() )</code>, он добавит класс в оба меню.</p><p>некоторая помощь будет оценена.</p>

<p>вы можете добавить условные классы для каждого в файле функций вашей дочерней темы:</p><p>вот один пример, который вы можете изменить в соответствии со своими потребностями.</p><pre><code>add\_filter('nav\_menu\_css\_class' , 'wpsites\_nav\_class' , 10 , 2); function wpsites\_nav\_class($classes, $item){ if( is\_archive() && $item->title == "products"){ $classes[] = "products-class"; } return $classes; источник <a href="http://codex.wordpress.org/function_reference/wp_nav_menu#adding_conditional_classes_to_menu_items">http://codex.wordpress.org/function_reference/wp_nav_menu#adding_conditional_classes_to_menu_items затем вы можете оформить свое навигационное меню, используя новый класс в файле style.css дочерних тем..products-class { your css declarations } этот код css является условным на основе приведенного выше кода php.

я предполагаю, что ваши сообщения products и news являются пользовательскими. для обоих условных тегов существует $post\_type</code>-специфичный эквивалент:</p><pre><code>if (is\_post\_type\_archive('products')) { // ... } elseif (is\_post\_type\_archive(array('news', 'something'))) { // ... } elseif (is\_singular('products')) { // ... } elseif (is\_singular(array('news', 'something'))) { // ... } </code></pre><p>итак, для <em>продукты</em> это будет:</p><pre><code>if (is\_post\_type\_archive('products') || is\_singular('products')) </code></pre><p><em>новости</em> соответственно.</p><p><strong> ссылки: </strong></p><ul> <li> <a href="http://codex.wordpress.org/function\_reference/is\_post\_type\_archive"><code>is\_post\_type\_archive</code></a> </li> <li> <a href="http://codex.wordpress.org/function\_reference/is\_singular"><code>is\_singular</code></a> </li> </ul>