如何检查产品是否可以使用优惠券?我需要woocommerce的商店循环项中的优惠券ID或其他优惠券数据以及woocommerce的产品详细信息。
是否有优惠券数据存储在产品详细信息中,例如产品元信息中,以便我们直接检查?
谢谢
3次投票后需要进一步阐明问题。
在我的WooCommerce商店中,我为销售产品创建了许多优惠券,但是当新客户进入我的网站时,他们不知道该xyz产品是否有可用的优惠券。因此,如果产品可通过优惠券代码打折,则需要在产品和产品详细信息页面的商店循环中显示“特价”之类的标记。
通常,新客户所发生的事情不知道优惠券代码,并且在woocommerce中,如果有该产品的优惠券,则没有显示产品标志的功能可以打折。
我希望现在所有人都能理解这个问题。因此,如果您有任何建议或建议,请务必告诉我。
再次感谢。
答案 0 :(得分:0)
获取此优惠券可应用于的产品ID。
$array = WC_Coupon::get_product_ids();
进一步阅读docs
要获得优惠券详细信息,请参见下文
$coupon_code = '33percent';
$c = new WC_Coupon($coupon_code);
您将获得以下详细信息
echo "Discount Amount ".$c->amount."<br>";//Get Discount amount
echo "Discount Type ".$c->discount_type."<br>";//Get type of discount
echo "Individual Use ".$c->individual_use."<br>";//Get individual use status
echo "Usage Count ".$c->usage_count."<br>";//Get number of times the coupon has been used
echo "Uage Limit ".$c->usage_limit."<br>";//Get usage limit
echo "Coupon Description ".$c->description."<br>";//Get coupon description
希望对您有帮助。
答案 1 :(得分:0)
尝试此代码
$Product_ID=82; /// Assig the product ID here.
$querystr = "
SELECT $wpdb->postmeta.meta_value,$wpdb->posts.post_name
FROM $wpdb->posts, $wpdb->postmeta
WHERE $wpdb->posts.ID = $wpdb->postmeta.post_id
AND $wpdb->postmeta.meta_key = 'product_ids'
AND $wpdb->posts.post_status = 'publish'
AND $wpdb->posts.post_type = 'shop_coupon'
ORDER BY $wpdb->posts.post_date DESC";
$pageposts = $wpdb->get_results($querystr, OBJECT);
$pageposts = json_decode(json_encode($pageposts),true);
foreach($pageposts as $coupon_product_Ids)
{
if($coupon_product_Ids['meta_value']!='')
{
$coupon_data=explode(",",$coupon_product_Ids['meta_value']);
if(in_array($Product_ID, $coupon_data))
{
$Product_Available_Coupon_code[]=$coupon_product_Ids['post_name'];
}
}
}
if(sizeof($Product_Available_Coupon_code)>0)
{
foreach($Product_Available_Coupon_code as $coupon_code_value)
{
echo $coupon_code_value; echo "<br>";
}
}
else
{
echo 'No counpons Available';
}