wpfts_get_sentence_styles (Filter)
Фильтр wpfts_get_sentence_styles
в WP Fast Total Search позволяет разработчикам модифицировать стили предложений, используемые для создания Smart Excerpts. Smart Excerpts — это фрагменты текста, которые отображаются в результатах поиска и содержат найденные ключевые слова. Стили предложений определяют, как будут оформлены эти фрагменты, включая добавление ссылок, заголовков и других элементов.
Когда используется
Этот фильтр полезен, если вам нужно изменить способ оформления Smart Excerpts, например:
- Изменить формат ссылок на предложения.
- Добавить или удалить элементы оформления, такие как заголовки или подписи.
- Изменить способ выделения ключевых слов.
- Динамически изменять стили в зависимости от контекста.
Аргументы
$sentence_styles
(array): Массив стилей предложений. Каждый элемент массива представляет собой набор настроек для определенного типа предложения.
Возвращаемое значение
$sentence_styles
(array): Модифицированный массив стилей предложений.
Структура массива $sentence_styles
Каждый элемент массива $sentence_styles
представляет собой ассоциативный массив со следующими ключами:
is_on
(bool): Флаг, включающий или отключающий данный стиль.is_regexp
(bool): Флаг, указывающий, использовать ли регулярное выражение для сопоставления ключа кластера.key_term
(string): Ключ кластера или регулярное выражение для сопоставления.caption
(string): Заголовок или подпись для предложения. Может содержать шаблоны, такие как{{post_url}}
,{{sentence}}
,{{word}}
,{{$1}}
и т.д.newline_type
(int): Тип переноса строки (не используется в текущей версии плагина).url_type
(int): Тип ссылки на предложение (0 - без ссылок, 1 - только заголовок, 2 - только слова, 3 - заголовок и слова, 4 - только предложение, 5 - заголовок и предложение).url_template
(string): Шаблон URL для ссылки на предложение. Может содержать шаблоны.class_name
(string): CSS-класс для предложения.
Пример (изменение шаблона URL)
add_filter('wpfts_get_sentence_styles', 'change_sentence_url_template');
function change_sentence_url_template($sentence_styles) {
foreach ($sentence_styles as &$style) { // & - важно, изменяем массив по ссылке
if ($style['key_term'] == 'post_content') {
$style['url_template'] = '{{post_url}}#wpfts-sentence-{{sentence_id}}'; // добавляем ID предложения в URL
}
}
return $sentence_styles;
}
Важные замечания
- Фильтр
wpfts_get_sentence_styles
вызывается перед созданием Smart Excerpts. - Изменения, внесенные в массив
$sentence_styles
, влияют на оформление всех Smart Excerpts на странице. - Убедитесь, что вы правильно используете шаблоны в полях
caption
иurl_template
. - Обратите внимание, что параметр
newline_type
в настоящее время не используется.
Фильтр wpfts_get_sentence_styles
— это мощный инструмент для настройки отображения Smart Excerpts в WP Fast Total Search, позволяющий разработчикам создавать различные варианты оформления фрагментов текста в результатах поиска.