Untuk memfilter kueri melalui post_status
pertama-tama kita perlu mencari nilai dalam tabel yang benar yang merupakan tabel posting wp, kita dapat melakukannya dengan memperbarui kueri SQL kita menggunakan pernyataan GABUNG dan mencocokkan nilai yang berkorelasi di beberapa tabel, dalam hal ini kita mencocokkan id_produk di wp.posts
tabel dengan yang ada di wp.postmeta
tabel.
Tabel yang kami cocokkan menggunakan pernyataan JOIN:
- wp.posts
$wpdb->posts
- wp.postmeta
$wpdb->wc_product_meta_lookup
Di bawah ini adalah fungsi yang diperbarui:
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;
}