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,  позволяющий  разработчикам  создавать  различные  варианты  оформления  фрагментов  текста  в  результатах  поиска.