我正在Woo Commerce网站上工作。我正在寻找一个插件,如果他购买了5个相同类别的产品,我可以在用户的总费用中增加一定的金额。
例如:
以下是我的产品类别:
Tray,Single
以下是示例产品:
product 1 - with a category of Tray
product 2 - with a category of Single
如果用户购买了5份prodcut 1
订单,则其总金额将增加一笔额外费用。这是一个示例:
因此,如果用户尝试购买5
中的product 1
,则总价格为500
,并且由于他达到{ {1}}个数量。因此,他的总费用为200
。
如果用户购买了5
中的700
,则其总金额为10
--- product 1
,总金额为1400
此类型的方法是否有任何插件?任何帮助,将不胜感激。谢谢。
答案 0 :(得分:0)
这可以使用woocommerce_cart_calculate_fees
过滤器来实现。下面是如何执行此操作的示例。
function cp_add_custom_price( $cart_object ) {
global $woocommerce;
$specialfeecat = 19; // Here add your category id which is used for additional fees.
$catcount=0;
foreach ( $cart_object->cart_contents as $key => $value ) {
$proid = $value['product_id']; //get the product id from cart
$quantiy = $value['quantity']; //get quantity from cart
$terms = get_the_terms( $proid, 'product_cat' ); //get taxonamy of the prducts
if ( $terms && ! is_wp_error( $terms ) ) :
foreach ( $terms as $term ) {
$catid = $term->term_id;
if($specialfeecat == $catid ) {
$catcount +=$quantiy;
}
}
endif;
}
$finalcount = ceil($catcount/5); // Here 5 is used to divide the products quantity
$finalcount = $finalcount*200;
if($finalcount > 0 ) {
$woocommerce->cart->add_fee( 'Special fee', $finalcount, true, 'standard' ); // add fess
}
}
add_action( 'woocommerce_cart_calculate_fees', 'cp_add_custom_price' );