Предположим, вы не используете поиск на своем блоге, либо у вас стоит поиск от google, или на ajax, как у меня.
А что вы сделали с тем поиском, который был в WordPress по умолчанию? Просто убрать форму поиска из виджетов или из кода темы недостаточно. Ведь когда я не находил её на сайте, я вводил поисковой запрос напрямую в URL, например https://misha.blog/?s=wordpress
Для отключения такой возможности вставьте этот код в functions.php текущей темы или в свой плагин:
function true_search_turn_off( $q, $e = true ) { if ( is_search() ) { $q->is_search = false; $q->query_vars[s] = false; $q->query[s] = false; if ( $e == true ){ // вешаем страницу с ошибкой 404 $q->is_404 = true; } } } add_action( 'parse_query', 'true_search_turn_off' ); add_filter( 'get_search_form', create_function( '$a', "return null;" ) ); |
Теперь, в том случае, если кто-то захочет обратиться к результатам поиска напрямую через URL, его перекинет на страницу 404-й ошибки.
Источник: misha.blog