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