如何检查产品是否可以申请优惠券?

时间:2018-07-31 07:52:56

标签: php wordpress woocommerce coupon

如何检查产品是否可以使用优惠券?我需要woocommerce的商店循环项中的优惠券ID或其他优惠券数据以及woocommerce的产品详细信息。

是否有优惠券数据存储在产品详细信息中,例如产品元信息中,以便我们直接检查?

谢谢

3次投票后需要进一步阐明问题。

在我的WooCommerce商店中,我为销售产品创建了许多优惠券,但是当新客户进入我的网站时,他们不知道该xyz产品是否有可用的优惠券。因此,如果产品可通过优惠券代码打折,则需要在产品和产品详细信息页面的商店循环中显示“特价”之类的标记。

通常,新客户所发生的事情不知道优惠券代码,并且在woocommerce中,如果有该产品的优惠券,则没有显示产品标志的功能可以打折。

我希望现在所有人都能理解这个问题。因此,如果您有任何建议或建议,请务必告诉我。

再次感谢。

2 个答案:

答案 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'; 

        }