gpt4 book ai didi

php - 按 sku 获取产品 min_price

转载 作者:行者123 更新时间:2023-11-29 09:31:40 25 4
gpt4 key购买 nike

我需要按 sku 获取产品 post_type 和草稿 post_statusmin_price 最小值。

function get_product_min_price_by_sku($sku) {
global $wpdb;
$min_price = $wpdb->get_var(
$wpdb->prepare("
SELECT MIN(min_price)
FROM {$wpdb->wc_product_meta_lookup}
WHERE sku = '$sku'
")
);
return $min_price;
}

如何向此函数添加帖子状态条件?

AND posts.post_status = 'draft'
顺便说一句。我允许多个产品具有相同的 sku:

add_filter('wc_product_has_unique_sku', '__return_false', PHP_INT_MAX);

最佳答案

为了通过 post_status 过滤查询,我们首先需要在正确的表(即 wp posts 表)中查找值,我们可以通过使用 JOIN 更新 SQL 查询来做到这一点语句并匹配多个表中的相关值,在本例中,我们将 wp.posts 表中的 product_idwp.postmeta 表。

我们使用 JOIN 语句匹配的表:

  • 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;
}

关于php - 按 sku 获取产品 min_price,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58584070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com