Automattic\WooCommerce\Internal\Admin

Analytics::register_regenerate_order_fulfillment_status_toolpublicWC 1.0

Register the regenerate order fulfillment status tool on the WooCommerce > Status > Tools page.

Method of the class: Analytics{}

No Hooks.

Returns

Array. Filtered debug tool registrations.

Usage

$Analytics = new Analytics();
$Analytics->register_regenerate_order_fulfillment_status_tool( $debug_tools );
$debug_tools(array) (required)
Available debug tool registrations.

Analytics::register_regenerate_order_fulfillment_status_tool() code WC 10.4.3

public function register_regenerate_order_fulfillment_status_tool( $debug_tools ) {
	// Check if the fulfillments feature is enabled.
	$container           = wc_get_container();
	$features_controller = $container->get( FeaturesController::class );

	if ( ! $features_controller->feature_is_enabled( 'fulfillments' ) ) {
		return $debug_tools;
	}

	// If the order fulfillment status has already been regenerated, don't register the tool again.
	if ( true === (bool) get_option( 'woocommerce_analytics_order_fulfillment_status_regenerated' ) ) {
		return $debug_tools;
	}

	$debug_tools['regenerate_order_fulfillment_status'] = array(
		'name'     => __( 'Regenerate order fulfillment status for Analytics', 'woocommerce' ),
		'button'   => __( 'Regenerate', 'woocommerce' ),
		'desc'     => __( 'This tool will regenerate the order fulfillment status for all orders and update the Analytics data using a direct SQL query.', 'woocommerce' ),
		'callback' => array( $this, 'run_regenerate_order_fulfillment_status_tool' ),
	);

	return $debug_tools;
}