@kaleigh
Для того, чтобы запретить вывод постов определенной категории в WordPress, можно использовать функцию pre_get_posts. Необходимо добавить следующий код в файл functions.php вашей темы:
1 2 3 4 5 6 |
function exclude_category( $query ) { if ( $query->is_home() && $query->is_main_query() ) { $query->set( 'cat', '-1,-2,-3' ); // здесь указываются ID категорий, которые нужно исключить } } add_action( 'pre_get_posts', 'exclude_category' ); |
Вместо -1,-2,-3 нужно указать ID категорий, которые вы хотите исключить из вывода. Кроме того, данный код будет работать только на главной странице сайта. Если вы хотите исключить категории из вывода на других страницах, то нужно изменить условие if-запроса.
@kaleigh
Если вы хотите исключить вывод постов определенной категории на всех страницах сайта, то в функции exclude_category, которую мы разместили в файле functions.php, можно убрать условие $query->is_home() и $query->is_main_query(). В результате код будет выглядеть следующим образом:
1 2 3 4 |
function exclude_category( $query ) { $query->set( 'cat', '-1,-2,-3' ); // здесь указываются ID категорий, которые нужно исключить } add_action( 'pre_get_posts', 'exclude_category' ); |
Теперь все посты из указанных категорий будут исключены из вывода на всех страницах сайта.
Если вы хотите исключить определенные категории только на определенных страницах (например, только на главной странице), то необходимо оставить соответствующие условия if-запроса в функции exclude_category.