Думаю, что у каждого при разработке своей темы для Wordpress, хотя бы раз возникала необходимость исключить какие-то категории статей из показа на главной странице и из RSS. В моей задаче нужно было исключить категорию, в которой отображаются статьи для слайдера на главной странице. Естественно, дублировать их не нужно.
Итак, как все уже догадались, на такой случай есть фильтр и имя ему pre_get_posts. Как и везде, нам просто нужно описать функцию и указать идентификатор категории со знаком минус. Это скажет движку Wordpress о том, что эту категорию нужно исключить из цикла.
Переходим в файл function.php и пишем следующее:
Вот и все дела!
Итак, как все уже догадались, на такой случай есть фильтр и имя ему pre_get_posts. Как и везде, нам просто нужно описать функцию и указать идентификатор категории со знаком минус. Это скажет движку Wordpress о том, что эту категорию нужно исключить из цикла.
Переходим в файл function.php и пишем следующее:
function exclude_category($query) { if ($query->is_home || $query->is_feed) // проверяем, что это главная страница или RSS { $exCatId = '230'; // Идентификатор категории $exCatId = '-' . $exCatId; // Меняем знак на минус $query->set('cat', $exCatId); // Добавляем условие в запрос } return $query; } add_filter('pre_get_posts', 'exclude_category');
Вот и все дела!
Комментарии
Отправить комментарий