Поиск только по записям WordPress

Поиск только по записям WordPress

Достаточно часто сайты на движке WordPress используют не только как блоги, но и для самых разных целей и задач. Тем не менее часты ситуации, когда блоги на таких сайтах все же присутствуют наравне с огромным количество других страниц.

По-умолчанию поиск в WordPress реализован таким образом, что ищет информацию и в записях и в страницах. Что бывает не всегда необходимо. Поэтому существует возможность ограничить зону поиска. Сегодня мы разберем, как можно сделать, чтобы поиск осуществлялся только по записям. Другими словами решим проблему: как исключить страницы из поиска WordPress. Давайте сделаем это.

Все, что нам потребуется - это открыть файл functions.php нашей темы и вставить туда следующий код:

function searchOnlyPosts($query) {
    if ($query->is_search) {
        $query->set('post_type', 'post');
    }
    return $query;
}
add_filter('pre_get_posts','searchOnlyPosts');

Не забывайте, что код нужно вставлять до закрывающего тега ?>. Вот и все. Теперь мы можем сделать поиск только по блогу, ведь результаты поиска со страниц больше выдаваться не будут.

17.03.19
Для просмотра сайта обновите браузер.