Хук get_the_excerpt в WPFTS

Хук get_the_excerpt в WordPress — это фильтр, позволяющий модифицировать отрывок поста (excerpt) перед его выводом на странице. WPFTS использует этот фильтр для отображения Smart Excerpts в результатах поиска вместо стандартных отрывков.

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

  1. Проверка условий: WPFTS проверяет следующие условия:

    • Плагин активен, и опция Smart Excerpts включена (is_smart_excerpts).

    • Запрос выполняется на странице результатов поиска (is_search()).

    • Запрос не из административной панели (!is_admin()).

    • Отрывок выводится внутри цикла WordPress, или в Gutenberg блоке типа post-excerpt (in_the_loop()).

  2. Применение Smart Excerpts: Если условия выполнены, WPFTS создает объект WPFTS_Result_Item для текущего поста, получает поисковый запрос с помощью get_search_query(false) (или использует $wpfts_core->forced_se_query, если Smart Excerpts были вызваны принудительно) и вызывает метод Excerpt(). Этот метод генерирует Smart Excerpt, который затем возвращается вместо стандартного отрывка.

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

  • WPFTS_Core::get_option()

  • is_search()

  • is_admin()

  • in_the_loop()

  • get_search_query()

  • WPFTS_Result_Item::Excerpt()

  • WPFTS_Core::ForceSmartExcerpts() (проверяется значение $wpfts_core->forced_se_query)

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

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

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

  • Smart Excerpts отображаются только на страницах результатов поиска.

  • Фильтр get_the_excerpt вызывается для каждого поста, отображаемого на странице результатов поиска.

  • WPFTS добавляет проверку на совместимость с блочным редактором Gutenberg.