post_status
. द्वारा क्वेरी को फ़िल्टर करने के लिए हमें सबसे पहले सही तालिका में मान की तलाश करने की आवश्यकता है जो कि wp पोस्ट टेबल है, हम JOIN स्टेटमेंट का उपयोग करके अपनी SQL क्वेरी को अपडेट करके ऐसा कर सकते हैं और कई तालिकाओं में सहसंबंधी मानों का मिलान कर सकते हैं, इस मामले में हम मिलान कर रहे हैं product_id wp.posts
. में wp.postmeta
. में से एक के साथ तालिका टेबल।
जॉइन स्टेटमेंट का उपयोग करके हम जिन तालिकाओं का मिलान कर रहे हैं:
- wp.posts
$wpdb->posts
- wp.postmeta
$wpdb->wc_product_meta_lookup
नीचे एक अद्यतन कार्य है:
function get_product_min_price_by_sku( $sku ) {
global $wpdb;
$min_price = $wpdb->get_var(
$wpdb->prepare(
"
SELECT MIN(lookup.min_price)
FROM {$wpdb->wc_product_meta_lookup} AS lookup
INNER JOIN {$wpdb->posts} AS posts ON lookup.product_id = posts.id
WHERE
posts.post_type IN ( 'product', 'product_variation' )
AND posts.post_status = 'publish'
AND lookup.sku = '%s'
LIMIT 1
"
, $sku)
);
return $min_price;
}