Intereting Posts
Столбец для столбца с сообщением на странице списка сообщений администратора Как восстановить $ args для пользовательского «класса» get_avatar? регистрация spambot без предоставления электронной почты или пароля, минуя процесс регистрации Как добавить новую вкладку в список сообщений администратора и обработать список результатов Сложные правила перезаписи с несколькими переменными, некоторые одинаковые Как отобразить хороший способ оплаты Checkout по валюте? Загрузка ячеек активной зоны WP через интерфейс Shortcode добавляет p и br теги Как я могу фильтровать сообщения по тегу на лету WP REST API возвращает неверные данные? Добавить кнопку «Email Image» с гиперссылкой для отдельных изображений Использование вызова Ajax в jQuery не работает в виджетах Проблема с регистрацией меню – что делать, если другие решения не работают? Что вы думаете: TimThumb против WordPress Thumbnails? Великие дебаты Как настроить DNS Если я использую плагин еще-другой-многосайтовый-менеджер?

Удалите текущий класс nav_page_parent из индекса блога, когда в CPT

Я пытаюсь удалить класс current_page_parent из пункта меню индекса блога (я получил настраиваемую страницу, чтобы отображать все сообщения в блоге, и она находится в меню) при навигации по странице архива типа персонализированного сообщения и пользовательским сообщениям типа сообщения.

Я нашел похожие вопросы, но я не могу понять, как его решить. Кроме того, у меня нет current_page_parent при навигации custom_post_type (я думаю, это связано).

Solutions Collecting From Web of "Удалите текущий класс nav_page_parent из индекса блога, когда в CPT"

Вы можете использовать фильтр nav_menu_css_class для добавления или удаления классов из пунктов меню. Каждый отдельный пункт меню будет применять этот фильтр. Массив классов и объект элемента меню будет передан функции, и вы return массив классов, которые должны иметь элементы меню.

PHP- array_diff может использоваться для удаления классов, а добавление элементов может быть выполнено путем добавления имен классов в массив через $classes[] = 'some-class-name' . Вы можете использовать Conditional Tags чтобы проверить, какая страница просматривается в данный момент, чтобы определить, что вам нужно добавить или удалить.

Вот быстрый пример, который проверяет, просматривается ли просматриваемая страница либо в архиве, либо в одиночном столбце типа your-post-type , а название пункта меню – в Blog . Если эти условия выполнены, класс current_page_parent удаляется из массива классов для этого пункта меню. Вы можете добавить или настроить его для своих нужд.

 function wpdev_nav_classes( $classes, $item ) { if( ( is_post_type_archive( 'your-post-type' ) || is_singular( 'your-post-type' ) ) && $item->title == 'Blog' ){ $classes = array_diff( $classes, array( 'current_page_parent' ) ); } return $classes; } add_filter( 'nav_menu_css_class', 'wpdev_nav_classes', 10, 2 );