Хук the_title в WPFTS
Хук the_title — это фильтр WordPress, который позволяет модифицировать заголовок поста перед его выводом на странице. WPFTS использует этот фильтр для применения Smart Excerpts к заголовкам постов, отображаемых в результатах поиска.
Что делает WPFTS при вызове the_title:
-
Проверка условий: WPFTS проверяет, выполняются ли следующие условия:
-
Плагин активен и опция Smart Excerpts включена (is_smart_excerpts).
-
Запрос выполняется на странице результатов поиска (is_search()).
-
Запрос не из административной панели (!is_admin()).
-
Заголовок выводится внутри цикла WordPress или в блоке типа post-title (in_the_loop()). Дополнительная проверка для совместимости с блочным редактором Gutenberg.
-
Или, если $wpfts_core->forced_se_query не равен false, что означает, что Smart Excerpts был вызван принудительно (например, в виджете).
-
-
Применение Smart Excerpts к заголовку: Если все условия выполнены, WPFTS создает объект WPFTS_Result_Item для текущего поста и вызывает его метод TitleText(), который возвращает заголовок с примененными стилями Smart Excerpts и, возможно, с добавленным расширением файла (для вложений).
Важные функции, задействованные в обработке the_title:
-
WPFTS_Core::get_option()
-
is_search()
-
is_admin()
-
in_the_loop()
-
WPFTS_Result_Item::TitleText()
-
WPFTS_Core::ForceSmartExcerpts() (проверяется значение $wpfts_core->forced_se_query)
Как это использовать в разработке аддонов:
Разработчикам аддонов важно понимать, что WPFTS модифицирует заголовки постов в результатах поиска при использовании Smart Excerpts. Если ваш аддон также модифицирует заголовки, убедитесь, что ваша логика не конфликтует с WPFTS. Вы можете использовать фильтр wpfts_se_titletext для более точной настройки отображения заголовков в результатах поиска.
Дополнительные замечания:
-
Smart Excerpts применяются к заголовкам только в результатах поиска.
-
Фильтр the_title вызывается для каждого поста, отображаемого на странице.
-
WPFTS добавляет дополнительную проверку для совместимости с блочным редактором Gutenberg.