Рассмотрим как можно исключить статьи из определенных категорий, которые не должны появляться в результатах поиска WordPress.
function exclude_category_from_search($query) {
if ($query->is_search) {
$query->set('cat', '-XXX');
}
return $query;
}
add_filter('pre_get_posts','exclude_category_from_search');
Добавляем данный сниппет в файл functions.php и меняем XXX на ID нужной нам категории, чтобы получилось, например, так:
$query->set('cat', '-1');
Также можно исключить несколько категорий:
$query->set('cat', '-24,-45,-52');
Не забывайте знак минус (-) перед каждым числом.
После добавления сниппета на сайт вы сможете увидеть, что определенная категория была полностью исключена из поиска и отображаются только оставшиеся не указанные категории.