Automattic\WooCommerce\Admin\API
Products::add_wp_query_join
Join posts meta tables when product search or low stock query is present.
Method of the class: Products{}
No Hooks.
Returns
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() Products::add wp query join code WC 10.3.6
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;
}