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

6 августа 2016 29

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

ThemeForest: Лучшие темы для WordPress
ThemeForest: Лучшие темы для WordPress

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

Комментарии

Разгоните свой WordPress

Хостинг-провайдер номер один в России — REG.RU

Подробнее