Как отключить поиск на сайте WordPress?

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

Как отключить поиск?

Рассмотрим два способа, способных решить эту задачу.

Способ 1. Плагин Disable Search

Плагин Disable Search не нуждается в какой-либо настройке со стороны пользователя. Его достаточно установить и активировать, после чего он удалит форму поиска из темы и отключит виджет поиска. Если пользователь попытается ввести URL-адрес поискового запроса, плагин вернет страницу ошибки 404. Следует отметить, что плагин не влияет каким-либо образом на функциональность поиска внутри области администрирования WordPress. Вы по-прежнему можете выполнять поиск внутри админ-панели WordPress.

Как отключить поиск на сайте WordPress?

Способ 2. Ручное отключение поиска

Ручной способ отключения поискового механизма на сайте предполагает редактирование файла functions.php Вашей активной темы на WordPress-сайте.

Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.

Итак, для решения задачи в самый конец functions.php необходимо добавить следующий код:

function wpschool_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', 'wpschool_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );

function wpschool_remove_search_widget() {
    unregister_widget('WP_Widget_Search');
}
add_action( 'widgets_init', 'wpschool_remove_search_widget' );

Этот способ аналогичен предыдущему. Он также отключает виджет Поиск и перенаправляет все прямые или косвенные поисковые запросы на страницу 404.

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

Если Вам понравилась статья — поделитесь с друзьями
Михаил Петров
Привет! Меня зовут Михаил Петров. Я копирайтер и занимаюсь этим с 2013 года. Скрупулезность и ответственность - моя фишка! Не могу делать как попало и добиваюсь, чтоб заказчик сказал минимум “неплохо”. За все время своей работы пришлось написать и отредактировать немало разной “текстовухи”, включая SEO-тексты, отзывы и прочую чушь. На сегодняшний день специализируюсь на написании информационных статей и руководств технического направления. Вижу смысл и светлое будущее в текстах для людей, а не для машин.
Обсуждение: 1
  1. Николай

    create_function — Создаёт анонимную (лямбда) функцию
    Эта функция объявлена УСТАРЕВШЕЙ, начиная с PHP 7.2.0 и ее использование крайне не рекомендовано.
    Если вы используете PHP 5.3.0 и новее, то используйте анонимные функции.
    (С) https://www.php.net/manual/ru/function.create-function.php

Задать вопрос