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

6 августа 2016

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

Это могут быть различные баннеры, рекламные объявления, отзывы, цитаты, портфолио, события, мероприятия и многое другое. Весь вспомогательный контент принято выносить в кастомные типы записей 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).

Подписываемся на канал Danilin.biz в Telegram, все самое интересное теперь там.
Иван Данилин
Автор: Иван Данилин

Практикующий веб-разработчик, специализируюсь на платформе Вордпресс.

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

Лучшие премиум-темы для Вордпресс с пожизненной поддержкой