Automattic\WooCommerce\Admin\API

ProductsLowInStock::add_sitewide_stock_query_str()privateWC 1.0

Add sitewide stock query string to base query string.

Method of the class: ProductsLowInStock{}

No Hooks.

Return

String.

Usage

// private - for code of main (parent) class only
$result = $this->add_sitewide_stock_query_str( $query );
$query(string) (required)
Base query string.

ProductsLowInStock::add_sitewide_stock_query_str() code WC 9.6.1

private function add_sitewide_stock_query_str( $query ) {
	global $wpdb;
	$postmeta = array(
		'select' => 'meta.meta_value AS low_stock_amount,',
		'join'   => "LEFT JOIN {$wpdb->postmeta} AS meta ON wp_posts.ID = meta.post_id
		  AND meta.meta_key = '_low_stock_amount'",
		'wheres' => "AND (
		    (
		      meta.meta_value > ''
		      AND wc_product_meta_lookup.stock_quantity <= CAST(
		        meta.meta_value AS SIGNED
		      )
		    )
		    OR (
		      (
		        meta.meta_value IS NULL
		        OR meta.meta_value <= ''
		      )
		      AND wc_product_meta_lookup.stock_quantity <= %d
		    )
	    )",
	);

	return strtr(
		$query,
		array(
			':postmeta_select' => $postmeta['select'],
			':postmeta_join'   => $postmeta['join'],
			':postmeta_wheres' => $postmeta['wheres'],
		)
	);
}