Intereting Posts
Мультимедийная медиафайла загружает неработающие изображения API для статистики сообщений для самостоятельного размещения WordPress с помощью JetPack Как определить виджет с одним экземпляром? Совместимость с установками RTL Коррумпированный дизайн / внешний вид WordPress помогите написать собственный скрипт php для настройки приоритета yoast для страниц или сообщений add_menu_page Функция обратного вызова: пропускает содержимое страницы? Проблемы с установкой на сервере без имени домена Рекомендуемые темы для блога, связанного с разработчиками? Обновление с 4.5 до 4.6 с ошибкой Как проверить имя файла для загрузки файлов мультимедиа? Могу ли я получить доступ к сообщениям настраиваемых полей через URL? Как получить входное значение плагина Widget Logic в пользовательском коде виджета (для отображения на странице администрирования Widget) Перемещение домена. WordPress.com в новый домен Отзывчивый дизайн темы: как показывать слайд-шоу на настольных компьютерах и планшетах и ​​статические фотографии на мобильных устройствах с использованием одного и того же шаблона?

Как скрыть виджет из определенной категории

Мне нужно каким-то образом скрыть тему, встроенную в виджет из одной категории. Поэтому, когда сообщение из категории X на этом посту скрывает этот виджет. Я бы использовал плагин для него, но поскольку это не виджет перетаскивания, я не могу. Это список тикеров, который встроен в тему. Я пытался с <?php if(!in_category('X')) : ?> Как я отключил другой, но это список <ul> , и мое решение закончилось ошибкой.

Это код с примером того, что я пробовал, и даже попытался изменить положение этой in_category() но не повезло. Возможно, это нужно сделать внутри функции темы с фильтром, но я не нашел способ или код для него.

Код в header.php :

 <div id="ticker"> <span class="ticker-heading"><?php _e( "Don't Miss", 'mvp-text' ); ?></span> <ul class="ticker-list"> <?php if(!in_category('X')) : ?><?php else : ?><?php $recent = new WP_Query(array( 'tag' => get_option('gd_ticker_tags'), 'showposts' => get_option('gd_ticker_num') )); while($recent->have_posts()) : $recent->the_post();?> <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <?php endwhile; ?> </ul> </div><!--ticker--> 

Solutions Collecting From Web of "Как скрыть виджет из определенной категории"

Я думаю, вы могли бы означать is_category() ?

Codex: is_category()

Я полностью согласен с ответом Wrought_steel, это правильный путь. Итак, правильный способ:

is_category()

И ваш усовершенствованный код будет:

 <div id="ticker"> <span class="ticker-heading"><?php _e( "Don't Miss", 'mvp-text' ); ?></span> <ul class="ticker-list"> <?php if(!is_category('X')) : //just to hide something from Cat = X ?> <?php $recent = new WP_Query(array( 'tag' => get_option('gd_ticker_tags'), 'showposts' => get_option('gd_ticker_num') )); while($recent->have_posts()) : $recent->the_post(); ?> <li><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <?php endwhile; ?> <?php endif; ?> </ul> </div><!--ticker--> 

НЕТ НУЖНО использовать условие else , поскольку вы хотите что-то скрывать, если оно НЕ является нужной категорией.