Если у вас в архитектуре проекта есть собственные типы записей (post_type), или вы не хотите, чтобы в поисковую выдачу попадали страницы (page), тогда у меня для вас есть отличное решение!

Идея заключается в том, чтобы перед запросом к БД поставить условие:

  1. Мы находимся в публичной части сайта (is_admin() == false);
  2. Наш запрос приходит из формы поиска ($query->is_search == true);

В случае соблюдения этих условий мы задаем для $query тот тип записей, который нужно. В нашем случае это post.

Это базовый пример для решения конкретной задачи. Его легко модифицировать и подогнать под похожие задачи.


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