Automattic\WooCommerce\Internal\EmailEditor\WCTransactionalEmails

WCEmailTemplateSyncTracker::on_backfill_completepublic staticWC 10.9.0

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 of woo_email posts 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() 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 );
}