Intereting Posts
meta_query, где значение равно заданному значению Ajax-вызов из single.php в файл плагина в бэкэнд Показывать пользовательские таксономии в панели администратора под настраиваемым типом сообщения Пользовательские области виджета моей собственной темы не работают Как отредактировать HTML и сохранить его так же, как и после переключения в Visual Editor в WordPress? Как добавить текст перед сообщениями Влияние эффективности использования функций в WordPress? Как переопределить эту функцию темы в дочерней теме Правильный способ создания мета-поля с более чем одним мета-полем get_intermediate_image_sizes () возвращает разные значения в зависимости от is_admin () Как передать параметры (данные) из плагина PHP для Реагирования Custom Post Loop вытягивает все пользовательские сообщения, а не только один Переход на WordPress Premium и хостинг-провайдера Shortcode / plugin с настраиваемым (гибким) выходом Как фильтровать список бэкэнд-сообщений, показывающий только сообщения с коротким кодом

Добавить текущий элемент меню CSS в специальный архив типа страницы в меню WordPress

Я много читал об этом, но не смог найти решение.

В основном я пытаюсь показать текущий пункт меню на динамической странице, созданной архивом типа пользовательского типа. Элемент управления по умолчанию не добавляет имена классов CSS текущего объекта. Я нашел решение здесь – http://bloggingsquared.com/blogging-tips/how-to-add-the-current-menu-item-css-class-to-a-custom-link-in-a- WordPress-меню /

Это выглядит так:

add_filter('nav_menu_css_class', 'AddCurrentMenuItemClass',1,2); function AddCurrentMenuItemClass($classes,$item) { $link = site_url().$_SERVER['REQUEST_URI']; if(strpos($link, $item->url) !== false) { $classes[] = 'current-menu-item'; } return $classes; } 

Проблема, с которой я столкнулась, заключается в том, что выделена главная страница (которая является элементом меню), а также страница, на которой я включен. Если я изменил оператор if:

  if ( $link == $item->url ) 

Затем в работах на этой странице, но не на подстраницах.

Не могли бы вы помочь мне разобраться? Я работаю над проектом клиента с правильным сроком …

Я на WP 3.4.2 с премиальным шаблоном WooThemes: Whitelight

Solutions Collecting From Web of "Добавить текущий элемент меню CSS в специальный архив типа страницы в меню WordPress"

Это то, что вы хотите сделать,

  add_filter( 'wp_get_nav_menu_items', 'cpt_archive_menu_filter', 10, 3 ); function cpt_archive_menu_filter( $items, $menu, $args ) { foreach ( $items as &$item ) { if ( $item->type != 'custom' ) continue; if ( get_query_var( 'post_type' ) == 'your-post-type' && $item->title == 'Title of Link' ) { $item->classes []= 'class-name-your-want'; } } return $items; } 

Несмотря на то, что выше будет работать, пользовательским ссылкам назначается класс current-menu-item поэтому это не обязательно, если я буду следовать за вами правильно.

У меня такая же проблема. Это то, что я делаю: измените параметр YourMenuItem на пункт меню.

 / * Добавить пользовательский класс в определенный пункт меню * /
 function my_class ($ classes, $ item) {
     if ($ item-> title == "YourMenuItem") {
         $ classes [] = 'current-page'; 
     }
     return $ classes;
 }
 add_filter ('nav_menu_css_class', 'my_class', 10, 2);