Фильтруем результаты поиска в Вордпресс

Опубликовано 8 лет назад

Любой развивающийся сайт помимо его наполнения основным контентом, со временем обрастает массой дополнительной и вспомогательной информации.

Это могут быть различные баннеры, рекламные объявления, отзывы, цитаты, портфолио, события, мероприятия и многое другое. Весь вспомогательный контент принято выносить в кастомные типы записей WordPress (custom post types). Что позволяет с лёгкостью управлять и манипулировать данными.

Поисковый механизм WordPress устроен таким образом, что по умолчанию поиск осуществляется по всем типам записей. Что в некоторых случаях совершенно недопустимо.

Чтобы самостоятельно определить типы записей по которым должен осуществляться поиск, можно воспользоваться таким фильтром.

function searchfilter($query) {
    if ($query->is_search && !is_admin() ) {
        $query->set('post_type',array('post','page'));
    }
return $query;
}
add_filter('pre_get_posts','searchfilter');

Теперь поиск будет осуществляться только по записям (post) и страницам (page).

Иван Данилин
Автор Иван Данилин

Фулстек веб‑разработчик, специализируюсь на платформе WordPress

Подробнее
Добавить комментарий