Хук attachment_link в WPFTS

Хук (фильтр) attachment_link в WordPress позволяет изменять URL-адрес ссылки на вложение перед его выводом. WPFTS использует этот хук для применения Smart Excerpts к ссылкам на вложения, отображаемым в результатах поиска.

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

  1. Проверка условий: 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 был вызван принудительно.

  2. Применение Smart Excerpts к ссылке: Если все условия выполнены, WPFTS создает объект WPFTS_Result_Item для вложения и вызывает его метод TitleLink(), который возвращает модифицированную ссылку. Эта ссылка может вести напрямую на файл вложения или на страницу вложения, в зависимости от настроек плагина (is_title_direct_link).

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

  • WPFTS_Core::get_option()

  • is_search()

  • is_admin()

  • in_the_loop()

  • WPFTS_Result_Item::TitleLink()

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

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

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

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

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

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

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