Automattic\WooCommerce\Admin\API

Products::add_wp_query_join()public staticWC 1.0

Join posts meta tables when product search or low stock query is present.

Method of the class: Products{}

No Hooks.

Return

String.

Usage

$result = Products::add_wp_query_join( $join, $wp_query );
$join(string) (required)
Join clause used to search posts.
$wp_query(object) (required)
WP_Query object.

Products::add_wp_query_join() code WC 8.7.0

public static function add_wp_query_join( $join, $wp_query ) {
	global $wpdb;

	$search = $wp_query->get( 'search' );
	if ( $search && wc_product_sku_enabled() ) {
		$join = self::append_product_sorting_table_join( $join );
	}

	if ( $wp_query->get( 'low_in_stock' ) ) {
		$product_lookup_table = $wpdb->prefix . 'wc_order_product_lookup';

		$join  = self::append_product_sorting_table_join( $join );
		$join .= " LEFT JOIN {$wpdb->postmeta} AS low_stock_amount_meta ON {$wpdb->posts}.ID = low_stock_amount_meta.post_id AND low_stock_amount_meta.meta_key = '_low_stock_amount' ";
		$join .= " LEFT JOIN {$product_lookup_table} product_lookup ON {$wpdb->posts}.ID = CASE
			WHEN {$wpdb->posts}.post_type = 'product' THEN product_lookup.product_id
			WHEN {$wpdb->posts}.post_type = 'product_variation' THEN product_lookup.variation_id
		END";
	}

	return $join;
}