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