Automattic\WooCommerce\Internal\EmailEditor\WCTransactionalEmails
WCEmailTemplateSyncTracker::on_backfill_complete
Listener body for woocommerce_email_template_sync_backfill_complete.
Fires _backfill_completed once per site. Payload is intentionally minimal (per-case counters and elapsed_ms would require touching the
10.8-frozen WCEmailTemplateSyncBackfill{} class):
posts_backfilled: count ofwoo_emailposts whose {@see WCEmailTemplateDivergenceDetector::BACKFILLED_META_KEY} flag is true.wc_version: current WooCommerce version string.
Метод класса: WCEmailTemplateSyncTracker{}
Хуков нет.
Возвращает
null. Ничего (null).
Использование
$result = WCEmailTemplateSyncTracker::on_backfill_complete(): void;
Список изменений
| С версии 10.9.0 | Введена. |
Код WCEmailTemplateSyncTracker::on_backfill_complete() WCEmailTemplateSyncTracker::on backfill complete WC 10.9.1
public static function on_backfill_complete(): void {
// Persistent one-shot guard: `WCEmailTemplateSyncBackfill::run()`
// fires `finalize()` on every invocation, and finalize() always
// fires `BACKFILL_COMPLETE_ACTION`. In production `run()` only
// runs once (10.8 db-update callback), but manual re-runs via
// wp-cli or tests can re-fire the action — this gate ensures the
// Tracks event still lands at most once per site.
if ( 'yes' === get_option( self::BACKFILL_COMPLETED_TRACKED_OPTION, 'no' ) ) {
return;
}
$posts_backfilled = self::count_backfilled_posts();
self::record(
self::EVENT_BACKFILL_COMPLETED,
array(
'posts_backfilled' => $posts_backfilled,
'wc_version' => function_exists( 'WC' ) && WC() ? (string) WC()->version : '',
)
);
update_option( self::BACKFILL_COMPLETED_TRACKED_OPTION, 'yes', false );
}