Исключаем категории из поиска

Рассмотрим как можно исключить статьи из определенных категорий, которые не должны появляться в результатах поиска 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');

Не забывайте знак минус (-) перед каждым числом.

После добавления сниппета на сайт вы сможете увидеть, что определенная категория была полностью исключена из поиска и отображаются только оставшиеся не указанные категории.

Была ли эта страница полезной?