Как исключить определенные посты из результатов поиска

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

Чтобы исключить некоторые посты из результатов поиска (посты есть, но поиском по блогу их не найти), можно создать специальный фильтр. Для этого добавьте в файл functions.php такой код:

function SearchExlude($query) 
{    
 if ($query->is_search) 
  { $query->set('cat','-1,-2,-3'); }    
 return $query;
 }
add_filter('pre_get_posts','SearchExlude');

1,2,3 – это ID постов, которые нужно исключить из поиска. Перечисляются они через запятую.

Как определить ID? Есть много способов, вот парочка простых:
Как показать ID записей в блоге | WP Show IDs ( simple, yet elegant )
Как вывести ID записей (постов), страниц, ссылок, категорий (рубрик), файлов и пользователей

Автор tiaurus 2182 Articles
Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

1 Kомментарий

  1. Подскажите, пожалуйста, а как сделать, чтобы исключить ВСЕ посты из определенных категорий (рубрик) в результатах поиска?

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*