Мы написали полностью пользовательский поиск WordPress, поскольку у нас были очень обширные потребности в этом.Пользовательский поисковый запрос Wordpress
Способ, которым он работает, заключается в том, что, когда кто-то ищет, мы выполняем наш собственный запрос (пользовательский оператор mysql, включая несколько UNION
). Тем не менее, все работает отлично, однако для конкретных запросов мы не можем достичь /page/2?s=***
. Эта страница даже не попадает на страницу поиска, но идет до 404.
Мое предположение заключается в том, что WordPress сначала выполняет поиск самостоятельно, а затем также вычисляет, сколько результатов должно быть показано, а потому, «Нет или нет результатов, вторая страница недоступна.
Мне кажется, что решение будет заключаться в том, чтобы заменить поиск по умолчанию WordPress на наш код, но я не могу найти что-либо в Интернете о фактической замене поиска по вашему собственному запросу. Это возможно?
В качестве альтернативы, есть ли способы, по которым мы можем позволить /page/2/?s=
перейти на страницу поиска, где наш код будет обрабатывать остальное? Вместо того, чтобы получить 404.
«конкретные запросы» означает ваш пример «***» или вы просто не можете найти другие страницы с разными запросами? И как вы переписали поиск? И как выглядит ваша разбивка на страницы в поисках? –
Частные запросы = просто поиск определенной строки, например. «ksno», а не «***». Мы создаем простой старый SELECT ..., а затем используя '$ wpdb-> get_results ($ q, OBJECT);' – Richard
страница 1 и страница 2 результаты поиска/страницы/ссылки называются Pagination. Другие вещи, которые следует учитывать, - это тип запроса. т.е. результаты поиска GET и POST. Возможно, эта страница WordPress Codex будет полезна: https://codex.wordpress.org/Making_Custom_Queries_using_Offset_and_Pagination –