Иногда приходится по тем или иным причинам исключать из показа на главной странице блога посты (отрывки) определенных категорий. Есть несколько способов как это сделать.
Во-первых, есть несколько плагинов в библиотеке WordPress, которые не показывают некоторые категории на главной странице блога. Я знаю о Category Excluder и Advanced Post Types Order.
Во-вторых, можно модифицировать файл index.php вашего шаблона (темы), добавив следующий фрагмент кода:
<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => get_option('posts_per_page'),
'category__not_in' => array(3, 7) // Заменить на ID нужной категории
);
$query = new WP_Query($args);
if ($query->have_posts()) :
while ($query->have_posts()) : $query->the_post();
// Your post display code here
endwhile;
endif;
wp_reset_postdata();
?>
В-третьих, можно добавить очередной сниппет к файлу functions.php – проще через плагин Code Snippets.
Вот этот сниппет:
function exclude_categories_from_blog($query) {
if ($query->is_home() && $query->is_main_query()) {
$query->set('category__not_in', array(3, 7)); // Заменить на ID нужной категории
}
}
add_action('pre_get_posts', 'exclude_categories_from_blog');
Популярные записи
Рубрики блога