Woocommerce销售价格功能

时间:2014-08-08 14:57:55

标签: php wordpress function woocommerce wp-query

我正在尝试使用Woocommerce定制我在Wordpress网站上运行的促销/促销。

在后端管理区域,我已将常规价格和促销价格添加到促销中的某些产品中。完成后,woocommerce立即收取购物车中的销售价格。

EG。 ProductA - 普通价格:50美元促销价:40美元。 将此产品添加到购物车时,使用并收取销售价格(40美元)。

我需要进行的促销活动更为复杂。

作为促销活动一部分的所有产品都会添加到“促销”类别中,并同时提供正常价格和促销价格。但是促销价不应立即适用。如果购买的商品中有超过3个产品可以购买,则必须按每个/单位而不是正常价格应用促销价。

EG。按照上面的ProductA,如果此产品的1个单位的添加到我的购物车,只要我的购物车中有3个或更多ProductA单价,且每个单位的促销价格为$ 40,那么每单位只需计算50美元的正常价格

我需要尝试覆盖当前的Woocommerce设置,以便仅在该产品超过3时才应用促销价。

到目前为止,我在functions.php中使用了以下代码。

function check_product_in_cart() {
  //Check to see if user has product in cart
  global $woocommerce;

  // start of the loop that fetches the cart items

  foreach ( $woocommerce->cart->get_cart() as $cart_item_key => $values ) {
    $_product = $values['data'];
    $terms = get_the_terms( $_product->id, 'product_cat' );

    // second level loop search, in case some items have several categories
    foreach ($terms as $term) {
        $_categoryid = $term->term_id;
    }

    if ( ($_categoryid === 17) && ($_product > 3) ) {
       //Apply sale price per unit
    }
  }
}

上面的代码应检查购物车中的每件商品,检查是否属于第17类(“促销”类别),如果是“销售类别”,请检查该产品的数量是否超过3 ,应用每单位的销售价格,否则申请正常价格。

我一直在研究这个,因为我相信我可能需要使用钩子和/或woocommerce过滤器,因为我试图在woocommerce中安全地覆盖这个功能。

我也看了这个以获得销售的产品:

$args = array(
    'post_type'      => 'product',
    'meta_query'     => array(
        'relation' => 'OR',
        array( // Simple products type
            'key'           => '_sale_price',
            'value'         => 0,
            'compare'       => '>',
            'type'          => 'numeric'
        ),
        array( // Variable products type
            'key'           => '_min_variation_sale_price',
            'value'         => 0,
            'compare'       => '>',
            'type'          => 'numeric'
        )
    )
);

query_posts( $args );

任何人都可以帮忙。

0 个答案:

没有答案