Automattic\WooCommerce\Admin\API\Reports\Stock\Stats

DataStore::get_datapublicWC 1.0

Get stock counts for the whole store.

Метод класса: DataStore{}

Хуков нет.

Возвращает

Массив. Array of counts.

Использование

$DataStore = new DataStore();
$DataStore->get_data( $query );
$query(массив) (обязательный)
Not used for the stock stats data store, but needed for the interface.

Код DataStore::get_data() WC 10.5.2

public function get_data( $query ) {
	$report_data              = array();
	$cache_expire             = DAY_IN_SECONDS * 30;
	$low_stock_transient_name = 'wc_admin_stock_count_lowstock';
	$low_stock_count          = get_transient( $low_stock_transient_name );
	if ( false === $low_stock_count ) {
		$low_stock_count = $this->get_low_stock_count();
		set_transient( $low_stock_transient_name, $low_stock_count, $cache_expire );
	} else {
		$low_stock_count = intval( $low_stock_count );
	}
	$report_data[ ProductStockStatus::LOW_STOCK ] = $low_stock_count;

	$status_options = wc_get_product_stock_status_options();
	foreach ( $status_options as $status => $label ) {
		$transient_name = 'wc_admin_stock_count_' . $status;
		$count          = get_transient( $transient_name );
		if ( false === $count ) {
			$count = $this->get_count( $status );
			set_transient( $transient_name, $count, $cache_expire );
		} else {
			$count = intval( $count );
		}
		$report_data[ $status ] = $count;
	}

	$product_count_transient_name = 'wc_admin_product_count';
	$product_count                = get_transient( $product_count_transient_name );
	if ( false === $product_count ) {
		$product_count = $this->get_product_count();
		set_transient( $product_count_transient_name, $product_count, $cache_expire );
	} else {
		$product_count = intval( $product_count );
	}
	$report_data['products'] = $product_count;
	return $report_data;
}