Хук post_limits в WPFTS

Хук post_limits в WordPress — это фильтр, который позволяет модифицировать часть SQL-запроса LIMIT, используемую для ограничения количества выбираемых постов. WPFTS использует этот хук для сохранения оригинального значения LIMIT, установленного WordPress, в сессии WP_Query. Это необходимо для корректной работы в режиме разделенного запроса (split_the_query).

Что делает WPFTS при вызове post_limits:

  1. Сохранение оригинального значения LIMIT: WPFTS сохраняет значение, переданное в фильтр post_limits, в сессии $wpq->wpftsi_session[‘limits’]. Это оригинальное значение LIMIT, установленное WordPress или другими плагинами.

  2. Возврат оригинального значения: Плагин возвращает оригинальное значение LIMIT без изменений. Это означает, что WPFTS не модифицирует непосредственно ограничение количества постов в запросе на этом хуке.

Важные функции, задействованные в обработке post_limits:

  • WPFTS_Search::index_post_limits()

Как это использовать в разработке аддонов:

Разработчикам аддонов, работающим с постраничной навигацией и WPFTS, важно понимать, что плагин сохраняет оригинальное значение LIMIT и не изменяет его на этом хуке. Модификация LIMIT в WPFTS происходит на более поздних этапах обработки запроса, в частности, в методе WPFTS_Search::index_posts_fields(), где определяется, нужно ли использовать разделенный запрос. Если ваш аддон также модифицирует LIMIT, убедитесь, что ваша логика не конфликтует с WPFTS.

Дополнительные замечания:

  • WPFTS использует сохраненное значение LIMIT для определения режима разделенного запроса и для корректной работы с постраничной навигацией.

  • Этот хук вызывается для всех запросов WP_Query, но WPFTS обрабатывает его только для запросов, связанных с поиском.