WordPress как на ладони
wordpress jino

Если не работает пагинация на странице поиска

Встретился давеча с маленькой, непонятной и неприятной проблемой - в одном из шаблонов почему-то не работала пагинация на странице поиска. Пагинация организовывалась плагином wp-pagenavi. Самое интересное то, что виной такого странного поведения пагинации был именно шаблон, т.к. в default все работало.

Неправильная работа пагинации на странице поиска была в том, что при переходе на страницу, скажем, 2 URL терял запрос типа ?s=<поисковой запрос> и в итоге вместо page/2?s=<поисковой запрос> было просто page/2. В результате при переходе "выкидывало" на главную страницу.

Попытки вылечить болезнь, а не симптом, т.е. найти основную причину, успехом не увенчались - все вроде как в порядке (хоть что-то и не так). Так как в корне проблему решить я не смог, я пошел обходным путем и сделал такой костыль (хак):

<?php
// Хак, исправляющий нерабочую пагинацию на странице поиска в WordPress
function kama_fix_search_pagination($result){   return $result."?s={$_REQUEST['s']}";}
add_filter ('get_pagenum_link','kama_fix_search_pagination');
?>

Этот код я добавил в начало файла темы search.php, после чего все заработало как швейцарские часы smile

Если не работает пагинация на странице поиска 6 комментариев
  • Дима

    У меня все равно не работает sad. GET['s'] теряется

    Ответить6.3 лет назад #
  • Zalmat cайт: sk59.ru @

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

    Ответить6.2 лет назад #
  • a11igator cайт: www.compiny.ru

    у меня тоже была аналогичная проблема, немного поменял запрос:

    return $result."&s={$_REQUEST['s']}" ;
    1
    Ответить5.3 лет назад #
  • Ram

    Я использую также Blox CMS. Там кстати решена проблемы поисковой оптимизации при реверсивной пагинации в этой статье http://help.blox.ru/latest/?part_backward .

    Ответить5.3 лет назад #
  • Максим

    У меня та же проблема. Проанализировав код формы поиска, генерируемый стандартным виджетом, обратил внимание на метод формы: в виджете он "get", а у меня был "post". Поменял - заработало.

    Ответить4.1 года назад #
  • Виктор

    Спасибо, выручил) Не мог понять почему - но после установки хака все заработало)

    Ответить2.10 года назад #

Здравствуйте, !

Ваш комментарий
Предпросмотр