Часто на сайтах функция поиска бывает просто не нужна. Такая ситуация актуальна обычно для одностраничных сайтов с вертикальной навигацией, на которых поисковая форма может помешать работе пользователя. Так, на подобном сайте наличие поиска может ввести в заблуждение посетителя, давая ему повод думать, что может быть какая-то другая информация, которую он не видят. В таком случае функцию поиска целесообразно просто отключить.
Как отключить поиск?
Рассмотрим два способа, способных решить эту задачу.
Способ 1. Плагин Disable Search
Плагин Disable Search не нуждается в какой-либо настройке со стороны пользователя. Его достаточно установить и активировать, после чего он удалит форму поиска из темы и отключит виджет поиска. Если пользователь попытается ввести URL-адрес поискового запроса, плагин вернет страницу ошибки 404. Следует отметить, что плагин не влияет каким-либо образом на функциональность поиска внутри области администрирования 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.
Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.
create_function — Создаёт анонимную (лямбда) функцию
Эта функция объявлена УСТАРЕВШЕЙ, начиная с PHP 7.2.0 и ее использование крайне не рекомендовано.
Если вы используете PHP 5.3.0 и новее, то используйте анонимные функции.
(С) https://www.php.net/manual/ru/function.create-function.php