Intereting Posts
Как я могу получить доступ к определенным сообщениям, возвращаемым query_posts? Пользователи оценивают собственные комментарии возвращать только первые два условия пользовательского сообщения Должен ли я использовать nonce для ajax загруженных сообщений в frontend (public)? Архивный шаблон отображение домена сетевого сайта по-прежнему применяется после удаления Настройка календаря Jquery Ссылки галереи изображений на средний образ вместо полноразмерного изображения Как остановить wordpress, чтобы сделать запрос по умолчанию? Создание портфолио и необходимость в каком-либо направлении Сортировка сообщений в алфавитном порядке, имеющих отдельные цифры WP_Query-> имеет ограничение Проблема с короткими кодами во внешнем файле Ссылка на сообщение в блоге со статической страницы Пользовательский тип сообщения с шаблонами с использованием метабоксов?

пользовательские типы сообщений, pre_get_posts, wp_list_categories

Итак, я знаю, что могу сделать эту работу круговым путем, но я думаю, что я делаю что-то неправильно в первую очередь. По существу, ситуация такова.

У меня есть пользовательский тип сообщения, должности которого – в зависимости от некоторых условий (время фактически) должны или не должны отображаться.

Этот я могу заставить работать довольно хорошо, как это (несколько сокращенно, чтобы сделать это менее грязным)

add_action( 'pre_get_posts', array( $this, 'my_tm_pre_get_posts')); function my_tm_pre_get_posts($query){ if (isset($query->query_vars['post_type']) && $query->query_vars['post_type']=='my_post_type') { $array2exclude=array(1, 2, 3); /**a conditional array depending on time of day etc)**/ $query->set( 'post__not_in', $array2exclude ); } return $query; } 

однако у меня также есть навигация категорий этого типа сообщения так:

 <?php // some_args ..... 'hide_empty' => 1, 'show_count' => 1, // some more args... echo wp_list_categories( $args ); ?> 

который отображает все правильные категории этого настраиваемого типа / таксономии. Все идет нормально.

Однако, если я исключу все сообщения определенной категории в my_tm_pre_get_posts, я также ожидал бы (ну, надеюсь, именно это я и пытаюсь), что эта категория в wp_list_categories также исключается или, если количество сообщений просто уменьшается, но> 0, счет также будет соответствующим образом отражен в show_count ….

Короче говоря, проблема, которую я не могу понять, – это способ, который отражает исключенные должности в навигации. может быть, это просто счет или фактически исключая целую категорию, если счет == 0 после действия pre_get_posts

Конечно, когда вы получаете «$ array2exclude» выше, я могу также проверить, означает ли это, что категория будет пустой, а затем просто исключит категорию из навигации. Но это действительно не влияет на счет в навигации, и у меня нет чувства, что это правильный или самый элегантный способ сделать это …

Любая помощь / подсказки / указатели оцениваются. С удовольствием предоставляем больше кода, если требуется для курса. просто пытаясь сохранить его просто

Solutions Collecting From Web of "пользовательские типы сообщений, pre_get_posts, wp_list_categories"