Работаем с поиском в WordPress

Отключаем функцию поиска в WordPress

При использовании WordPress в качестве CMS иногда функция поиска становится бесполезной. Если вы все это время ждали момента, чтобы избавиться от функционала поиска, то эта статья именно для вас. Мы расскажем как полностью отключить функцию поиска в WordPress.

Открываем файл functions.php вашей темы и добавляем в него следующий код:

function fb_filter_query( $query, $error = true ) {

if ( is_search() ) {
$query->is_search = false;
$query->query_vars[s] = false;
$query->query[s] = false;

// если ошибка
if ( $error == true )
$query->is_404 = true;
}
}

add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

Примечание: если вы выставите для $error значение true, тогда пользователь будет перенаправлен на вашу страницу 404 (в директории с темой файл 404.php должен присутствовать). Если же вы установите значение false, тогда пользователь останется на той странице, на которой он попытался воспользоваться поиском.

Источник: WPEngineer

Ограничиваем количество результатов поиска для определенных типов записей в WordPress

Задавались ли вы когда-либо целью ограничить количество результатов поиска для определенных типов записей? Это не очень сложно. Выше мы уже рассказали как полностью отключить функцию поиска в WordPress, просто модифицировав файл functions.php. Теперь мы сделаем тоже самое, только фильтруя результаты поиска по запросу.

Открываем ваш файл functions.php и добавляем следующие строки кода:

function searchfilter($query) {

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

return $query;
}

add_filter('pre_get_posts','searchfilter');

Обратите внимание на строку

$query->set('post_type',array('post','page'));

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

VN:F [1.9.22_1171]
Rating: 5.0/5 (2 votes cast)

Об авторе ADv

Занимаюсь разработкой сайтов и магазинов на WordPress. Оказываю платные помощь и консультации. Skype: advokat_b
Scroll To Top