wpfts_index_post_finish (Action)

Хук wpfts_index_post_finish в WP Fast Total Search вызывается в самом конце процесса индексации отдельного поста, после того, как все данные были извлечены и подготовлены для добавления в индекс, и перед тем, как эти данные будут записаны в базу данных.

Когда используется

Этот хук полезен для следующих целей:

  • Выполнение дополнительной обработки или модификации данных, подготовленных для индексации ($chunks), перед их записью в базу данных.
  • Очистка ресурсов, инициализированных в хуке wpfts_index_post_start.
  • Логирование или отладка результатов индексации.
  • Добавление данных в индекс из сторонних источников, связанных с данным постом.

Аргументы

  • $chunks (массив): Массив данных, подготовленных для индексации. Этот массив уже был модифицирован фильтром wpfts_index_post и содержит финальный набор данных для индексации. Важно: Этот аргумент передаётся по ссылке (&), поэтому изменения, внесённые в массив $chunks, не будут сохранены, т.к. этот хук вызывается после фильтра wpfts_index_post, и данные уже были подготовлены к записи. Однако, вы можете использовать этот массив для получения информации, например, для логирования. Если вам необходимо модифицировать данные перед индексацией, используйте фильтр wpfts_index_post.
  • $post (object): Объект WP_Post, представляющий индексируемый пост.
  • $wpfts_core (object): Объект ядра плагина WPFTS_Core. Предоставляет доступ ко всем методам и свойствам плагина.

Возвращаемое значение

  • $chunks (массив): Модифицированный массив данных. Хотя изменения, внесённые в $chunks, не повлияют на индексацию, функция-обработчик должна вернуть массив $chunks.

Пример

/**
 *  Записывает  размер  индексируемых  данных  в  лог.
 */
add_filter('wpfts_index_post_finish', 'my_wpfts_index_post_finish_handler', 10, 3);
function my_wpfts_index_post_finish_handler($chunks, $post, $wpfts_core) {
 
	$data_size = 0;
	foreach ($chunks as $chunk) {
		$data_size += strlen($chunk);
	}
 
    $wpfts_core->log('Post ID: ' . $post->ID . ', Data size: ' . $data_size . ' bytes');
    return $chunks;
 
}

Важные замечания

  • Этот хук вызывается для каждого индексируемого поста. Код внутри обработчика должен быть эффективным.
  • Избегайте вывода какой-либо информации на экран внутри обработчика этого хука, т.к. индексация выполняется в фоновом режиме.

Хук wpfts_index_post_finish предоставляет разработчикам возможность выполнять завершающие действия после индексации каждого поста.