필터 또는 후크를 사용하여 카트 총량 수정
네, 그래서 장바구니에 들어있는 전체 품목의 양에 따라 장바구니의 양을 수정할 필터나 후크를 작성하려고 합니다.예를 들어, 장바구니에 3개의 물건이 들어있다면, 총 주문금액에서 20달러를 차감하고 싶습니다.아래는 제가 지금까지 가지고 있는 코드입니다. 어떤 도움이든 대단히 감사합니다!
add_filter('woocommerce_cart_contents_total', 'bundle_deals');
function bundle_deals( $cart_contents_total, $cart_contents_count) {
global $woocommerce;
if ($woocommerce->cart->get_cart()->cart_contents_count <= 3) {
$cart_contents_total = $woocommerce->cart->get_cart()->cart_contents_total - 20.00;
}
return $cart_contents_total;
}
function woocommerce_cart_subtotal( $cart_subtotal, $compound, $obj ){
$t = 0;
foreach ( $obj->cart_contents as $key => $product ) :
$product_price = $product['line_total'];
foreach ( WC()->cart->get_coupons( 'order' ) as $code => $coupon ) :
$product_price = 19;//wpq_9522_discount( $product['line_total'], $coupon->discount_type, $coupon->amount );
endforeach;
$t += $product_price;
endforeach;
return $cart_subtotal;//( $t > 0 ) ? sprintf( '<s>%s</s> %s',
$cart_subtotal, wc_price( $t ) ) : $cart_subtotal ;
}
add_filter( 'woocommerce_cart_subtotal', 'woocommerce_cart_subtotal', 99, 3 );
총금액은 아래의 후크에서 변경 가능합니다.
add_action('woocommerce_calculate_totals', array($this, 'calculate_totals'), 10, 1);
function calculate_totals($totals){
//your code
}
언급URL : https://stackoverflow.com/questions/29054877/modify-cart-total-amount-with-filter-or-hook
'programing' 카테고리의 다른 글
벡터/매트릭스 끝까지 우아한 인덱싱 (0) | 2023.10.19 |
---|---|
PowerShell 스크립트에서 특정 기능을 "비공개"로 만들 수 있는 방법이 있습니까? (0) | 2023.10.19 |
php, 특수문자를 텍스트로 변환하는 방법은? (0) | 2023.10.19 |
워드프레스 - 편집자가 테마 위젯을 관리하도록 허용 (0) | 2023.10.19 |
auto는 마진에서 무엇을 합니까: 0 auto? (0) | 2023.10.19 |