Как вывести записи только родительской рубрики?
WordPress по умолчанию добавляет записи дочерних рубрик в вывод записей родительской рубрики. Таким образом, вывести записи только родительской рубрики без записей дочерних рубрик нельзя. Данную ситуацию можно исправить с помощью такого кода, добавленного в файл functions.php вашей темы:
//вывод записей только родительской рубрики start function wph_only_parent_category($query) { if (!is_admin() && $query->is_main_query() && $query->is_category()) $query->set('category__in', array(get_queried_object_id())); } add_action('pre_get_posts', 'wph_only_parent_category'); //вывод записей только родительской рубрики end |
Данный сниппет будет работать только с основным циклом вывода записей (свои циклы, заданные через query_posts будут игнорироваться). Если вас это не устраивает, то вы можете убрать проверку на основной цикл:
//вывод записей только родительской рубрики start function wph_only_parent_category($query) { if (!is_admin() && $query->is_category()) $query->set('category__in', array(get_queried_object_id())); } add_action('pre_get_posts', 'wph_only_parent_category'); //вывод записей только родительской рубрики end |
Этот код будет работать с любыми циклами вывода записей.
Спасибо!!!
Спасибо огромное! То что нужно!
Спасибо, единственное отличное решение этой проблемы, а то у других надо было вручную указывать номер рубрики для ее исключения.
Спасибо Вам, бессребреники-человеколюбцы, за помощь! Работает код.
есть ли возможность вывести посты из текущей подкатегории (дочерней рубрики), то есть, если структура такова: food - burger (food - основная, burger - дочерняя), если нахожусь в записи, которая относится только к Burger, то ниже выводятся посты, которые также относятся к данной дочерке и соответственно с другими рубриками и подрубриками.. ?
вот код, только он выводит записи из родительской, если нахожусь в дочерней