WordPress не требует, чтобы поиск возвращался на домашнюю страницу. s
запрос var является зарезервированным ключевым словом для поиска в WordPress. Что вы можете сделать, это изменить форму поиска, чтобы включить текущий URL:
global $wp;
<form role="search" method="get" class="search-form" action="<?php echo esc_url( home_url( $wp->request ) ); ?>">
Делая это на странице терминов (архив таксономии), он также ограничивает поиск этим конкретным термином без какой-либо дополнительной работы. Вы можете изменить это в своем шаблоне searchform.php
. Если у вас его нет, вы можете получить его из файлов тем 2017 года .
WordPress анализирует большинство запросов через файл class-wp-query.php
, передаваемый классом / объектом WP_Query. Поиск обрабатывается WP_Query::parse_search()
Если вы хотите изменить поиск или действительно какие-либо запросы, вы всегда можете использовать pre_get_posts
, чтобы изменить объект запроса, прежде чем он будет запрошен из базы данных. Если вы хотите изменить SQL до его запроса, вы можете использовать хук posts_clauses
, обычно это используется для включения пользовательских таблиц.