Хук post_limits в WPFTS
Хук post_limits в WordPress — это фильтр, который позволяет модифицировать часть SQL-запроса LIMIT, используемую для ограничения количества выбираемых постов. WPFTS использует этот хук для сохранения оригинального значения LIMIT, установленного WordPress, в сессии WP_Query. Это необходимо для корректной работы в режиме разделенного запроса (split_the_query).
Что делает WPFTS при вызове post_limits:
-
Сохранение оригинального значения LIMIT: WPFTS сохраняет значение, переданное в фильтр post_limits, в сессии $wpq->wpftsi_session[‘limits’]. Это оригинальное значение LIMIT, установленное WordPress или другими плагинами.
-
Возврат оригинального значения: Плагин возвращает оригинальное значение 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 обрабатывает его только для запросов, связанных с поиском.