Хук posts_search в WPFTS

Хук posts_search в WordPress — это фильтр, который позволяет модифицировать часть SQL-запроса WHERE, отвечающую за поиск постов по ключевым словам. WPFTS использует этот хук для замены стандартного поиска WordPress на свой собственный поисковый механизм, когда это необходимо согласно настройкам.

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

  1. Проверка использования индексного поиска: Плагин проверяет, включен ли индексный поиск WPFTS для текущего запроса ($wpq->wpftsi_session[‘use_indexed_search’]).

  2. Замена части WHERE: Если индексный поиск включен, WPFTS полностью заменяет стандартную часть WHERE запроса, сгенерированную WordPress, на свою собственную, которая использует данные из поискового индекса. В случае, если параметр $wpq->wpftsi_session[‘parts’][‘select’] не пустой, именно он будет использован в качестве условия поиска.

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

  • WPFTS_Search::index_sql_select()

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

Разработчикам аддонов, которые хотят интегрироваться с поиском WPFTS, важно понимать, что стандартный поиск WordPress будет полностью заменен, если включен индексный поиск. Если ваш аддон модифицирует часть WHERE запроса для поиска, убедитесь, что он корректно работает в сочетании с WPFTS.

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

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

  • SQL-запрос, используемый WPFTS для поиска, формируется в методе WPFTS_Search::sql_parts().

Этот хук демонстрирует, как WPFTS интегрирует свой поисковый движок с WordPress, заменяя стандартный поиск на свой собственный.