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