0

我一直在自定义 WP Ecommence 插件,以便为某个类别的每两个项目启用折扣。我知道这些类别列在$wpsc_cart数组中,但这不起作用,我不明白为什么。理想情况下,我想放弃这个以支持更简单的东西,这就是下面的问题第 2 部分。

我的代码-

foreach($wpsc_cart->cart_items->wpsc_cart_item as $cartItemDW){
        $ii = 1;
        if(in_array('product-type-1',$cartItemDW->category_list) || in_array('product-type-2',$cartItemDW->category_list)){
            $ii++;  
        }
    }
    //Pull up end count
    $prodCount = $ii;
    //Round off to even number
    if($prodCount % 2){
        $prodCount = $prodCount - 1;    
    }
    // Discount for every second one
    $prodCount = $prodCount / 2;
    // Discount of £70 per second item
    $prodCount = $prodCount * 70.00;
    // Pass discount to Paypal Array
    if($discount > 0){
        $paypal_vars += array(
            'discount_amount' => $discount
        );
    }

第 2 部分 理想情况下,我想了解如何根据表中的项目 ID 获取类别名称_wpsc_cart_contents,然后说如果它在某些类别中,则相应地打折,这似乎比可能的 foreach 更容易的方法完全关闭。有人可以解释如何根据产品 ID 获取产品类别吗?

提前致谢。担

4

1 回答 1

0

在 foreach 项目中找到答案 1-

$prodID = $wpdb->get_row('SELECT * FROM wp_wpsc_item_category_assoc WHERE product_id = "'.$item['prodid'].'"');
            if($prodID->category_id == 10 || $prodID->category_id == 5 || $prodID->category_id == 23 || $prodID->category_id == 24 || $prodID->category_id == 25 || $prodID->category_id == 26){
                $addQuantity = $item['quantity'];
                $i = $i + $addQuantity;
                //$i++;

            }

然后稍后,2- 在 foreach 项目之后-

$prodCount = $i;
$discount = 70.00 * ($prodCount / 2);

$data['discount_amount_1'] = number_format(sprintf("%01.2f", $discount),$decimal_places,'.','');
于 2013-05-29T11:01:02.220 回答