Довольно часто, при использовании стандартного поиска WordPress, возникает необходимость искать только в определенных категориях, исключив ненужные. Делается это довольно просто — в файл functions.php вставляем код:
function search_category_filter($query) {
if ($query->is_search) {
$query->set(category__in,'1,2,3');
}
return $query;
}
add_filter('pre_get_posts',' search_category_filter ');
В данном примере будут показаны записи только из категорий с ID равным 1, 2 или 3. Вы можете установить ID-ы своих категорий по вкусу 🙂 А вот тут я написал как узнать количество постов в категории.
В зависимости от версии WordPress данный код может не сработать. Тогда строку
$query->set(category__in,'1,2,3');
заменяем на
$query->set('cat','1,2,3');