세금 라인이 아닌 카트 합계에만 woocommerce 쿠폰을 적용하십시오.
저는 WooCommerce 사이트에서 일하고 있습니다.체크아웃 페이지에서 쿠폰을 적용하면 세금에도 자동으로 적용됩니다.
카트 합계에만 쿠폰 코드를 적용했으면 합니다.구글에서 관련된 훅이나 플러그인을 검색해 봤지만, 제대로 된 솔루션을 찾을 수 없었습니다.
이게 내 현재 코드 훅이야functions.php
하지만 예상대로 작동하지 않습니다.
add_action('woocommerce_product_tax_class', 'set_tax_class');
function set_tax_class () {
if (!empty($woocommerce->cart->applied_coupons)){
$tax_class = 'gratuty';
}
return $tax_class;
}
저도 한번 해봤어요woocommerce_cart_calculate_fees
후크도 걸었지만 효과가 없었습니다.
쿠폰이 적용되었을 때 세금을 변경하지 않고 카트를 업데이트하려면 어떤 후크를 사용해야 합니까?
WooCommerce >> Settings >> Tax에서 Tax를 확인해야 한다고 생각합니다.이 경우 "No, I enter the price of tax" 체크박스를 켜야 합니다.
또, Taxes의 상세한 것에 대하여는, 다음의 링크를 확인해 주세요.https://github.com/woocommerce/woocommerce/wiki/How-Taxes-Work-in-WooCommerce
또는 이와 별도로 쿠폰을 프로그래밍 방식으로 적용하기 위한 다음 코드를 이해할 수도 있습니다.
function apply_matched_coupons(){
$coupon_code = 'freeweek';
if ( WC()->cart->has_discount( $coupon_code ) ) return;
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
// this is your product ID
$autocoupon = array( 40 );
if( in_array( $cart_item['product_id'], $autocoupon ) ) {
WC()->cart->add_discount( $coupon_code );
wc_print_notices();
}
}
}
이게 도움이 됐으면 좋겠네요!
카트에 쿠폰 코드를 자동으로 추가하고 두 페이지에서 모두 체크아웃이 가능합니다.고객이 카트에 제품을 추가했지만 카트 페이지를 열지 않고 쇼핑 페이지를 직접 체크아웃 페이지로 이동한 후 카트 페이지 자동 적용 쿠폰을 발행한다고 가정합니다.
따라서 양쪽 후크(카트 페이지와 체크아웃 페이지)를 호출해야 합니다.
/**
* Apply a Coupon Programmatically
* Add coupon when the user views the cart page.
* Add coupon when the user views checkout page.
*/
// Add coupon when user views cart page.
add_action('woocommerce_before_cart_table', 'woo_apply_matched_coupons');
// Add coupon when user views checkout page.
add_action('woocommerce_before_checkout_form', 'woo_apply_matched_coupons');
function woo_apply_matched_coupons() {
global $woocommerce;
$coupon_code = 'ABCD125467'; // your coupon code
// If coupon not Applied!.
if (!$woocommerce->cart->add_discount(sanitize_text_field($coupon_code))) {
wc_print_notices();
}
// Manually recalculate totals. If you do not do this, a refresh is required before the user will see updated totals when the discount is removed.
$woocommerce->cart->calculate_totals();
}
wo-commerce에서 카트 총계에 쿠폰을 적용할 수 있는 옵션이 이미 있습니다.
언급URL : https://stackoverflow.com/questions/51265267/apply-woocommerce-coupon-only-to-the-cart-total-not-to-the-tax-line
'programing' 카테고리의 다른 글
형제 요소를 부모 태그로 묶지 않고 렌더링하려면 어떻게 해야 합니까? (0) | 2023.04.01 |
---|---|
Formik 양식을 사용한 리액트 날짜 선택기 (0) | 2023.04.01 |
JSON.stringify() 출력 중 특정 값 숨기기 (0) | 2023.04.01 |
메뉴 구분 막대로 작성하는데 첫 번째 항목과 마지막 항목에 막대가 없는 방법? (0) | 2023.04.01 |
렌더링 시 onClick이 호출되는 이유는 무엇입니까? - React.js (0) | 2023.04.01 |