我目前正试图添加2自定义产品费用对我的woocommerce商店的基础上的产品类别。
自定义费用1 $3,60对于类别39中的所有产品
自定义费用2 $1,80对于类别38中的所有产品
这是我目前使用的代码:
function df_add_ticket_surcharge( $cart_object ) {
global $woocommerce;
$specialfeecat = 39;
$spfee = 0.00;
$spfeeperprod = 3.60;
foreach ( $cart_object->cart_contents as $key => $value ) {
$proid = $value['product_id'];
$quantiy = $value['quantity'];
$itmprice = $value['data']->price;
$terms = get_the_terms( $proid, 'product_cat' );
if ( $terms && ! is_wp_error( $terms ) ) :
foreach ( $terms as $term ) {
$catid = $term->term_id;
if($specialfeecat == $catid ) {
$spfee = $quantiy * $spfeeperprod;
}
}
endif;
}
if($spfee > 0 ) {
$woocommerce->cart->add_fee( 'Statiegeld', $spfee, true, 'standard' );
}
}
add_action( 'woocommerce_cart_calculate_fees', 'df_add_ticket_surcharge' );
字符串
这与预期的一样,产品类别中的所有产品:39在结账时获得自定义费用。
我遇到的问题是让这个与另一个产品类别和价值工作。当我尝试复制相同的代码两次,它返回一个关键的wordpress错误。
我想做的是
自定义费用1 $3,60对于类别39中的所有产品
自定义费用2 $1,80对于类别38中的所有产品
如果有人能把我带到正确的方向,我将不胜感激!
1条答案
按热度按时间cgh8pdjw1#
您可以使用switch语句根据类别id有条件地设置每个类别的价格。如下所示:
字符串