Automattic\WooCommerce\Admin\API\Reports

DataStore::get_excluded_report_order_statuses │ protected static │ WC 1.0

Get the excluded order statuses used when calculating reports.

Method of the class: DataStore{}

Returns

array.

Usage

$result = DataStore::get_excluded_report_order_statuses();

DataStore::get_excluded_report_order_statuses() code WC 11.2.1

protected static function get_excluded_report_order_statuses() {
	$default_excluded_statuses = Settings::get_default_excluded_order_statuses();
	$excluded_statuses         = \WC_Admin_Settings::get_option( 'woocommerce_excluded_report_order_statuses', $default_excluded_statuses );
	$excluded_statuses         = Settings::get_valid_order_statuses_or_default( $excluded_statuses, $default_excluded_statuses );
	$excluded_statuses         = array_merge( array( 'auto-draft', 'trash' ), array_map( 'esc_sql', $excluded_statuses ) );

	// Keep the value a broken filter would otherwise replace, so the merchant's saved
	// selection survives it.
	$pre_filter_statuses = $excluded_statuses;

	/**
	 * Filter the list of excluded order statuses for customer history and analytics reports.
	 *
	 * @since 4.0.0
	 * @param array $excluded_statuses Order statuses to exclude.
	 */
	$excluded_statuses = apply_filters( 'woocommerce_analytics_excluded_order_statuses', $excluded_statuses );
	if ( ! is_array( $excluded_statuses ) ) {
		wc_doing_it_wrong( __METHOD__, 'The woocommerce_analytics_excluded_order_statuses filter must return an array.', '11.2.0' );
		$excluded_statuses = $pre_filter_statuses;
	}
	return $excluded_statuses;
}