반응형
WooCommerce에서 프로그래밍 방식으로 카트 세금 합계 가져오기
WordPress, Using: 페이지의 WooCommerce에서 세금 총액을 얻는 방법은 무엇입니까?
global $woocommerce;
$discount = $woocommerce->cart->tax_total;
하지만 어떤 가치도 돌려주지 않습니다.
카트세 총액은 어떻게 받을 수 있습니까?
기본적으로 나는 Tax가 사용자를 위해 계산하기를 원하지만, 고객이 COD에 대한 세금을 지불할 것이기 때문에 그것을 줄였으면 합니다.
아래의 전체 코드:
add_action( 'woocommerce_calculate_totals', 'action_cart_calculate_totals', 10, 1 );
function action_cart_calculate_totals( $cart_object ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
if ( !WC()->cart->is_empty() ):
$cart_object->cart_contents_total *= .10 ;
endif;
}
//Code for removing tax from total collected
function prefix_add_discount_line( $cart ) {
global $woocommerce;
$discount = $woocommerce->cart->tax_total;
$woocommerce->cart->add_fee( __( 'Tax Paid On COD', 'your-text-domain' ) , - $discount );
}
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line' );
global $woocommerce; $woocommerce->cart
는 카트에 사용되지 않습니다.대신 써주세요.
여기서 직접 사용하실 수 있습니다.$cart
대신에 (객체) 논법...- 올바른 속성은 대신 입니다.
- WC_카트겟_택스() 메서드를 사용하여 WoCommerce 버전 3.0+와 호환되는 것이 좋습니다.
코드를 달성하려면 다음을 수행해야 합니다.
// For Woocommerce 2.5+ (2.6.x and 3.0)
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line', 10, 1 );
function prefix_add_discount_line( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) )
return;
$discount = 0;
// Get the unformated taxes array
$taxes = $cart->get_taxes();
// Add each taxes to $discount
foreach($taxes as $tax) $discount += $tax;
// Applying a discount if not null or equal to zero
if ($discount > 0 && ! empty($discount) )
$cart->add_fee( __( 'Tax Paid On COD', 'your-text-domain' ) , - $discount );
}
코드가 작동합니다.활성 하위 테마(또는 테마)의 php 파일 또는 플러그인 파일에 있습니다.
이 코드는 테스트되고 작동합니다.
함수 이름을 잘못 사용하고 있습니다.올바른 기능은 다음과 같습니다. -
WC()->cart->get_tax_totals( );
$wocommerce->cart->tax_total을 사용하지 않고, 카트 총 세금을 받으려면 카트 총 세금에서 세금을 제외한 카트 총 세금을 차감하면 됩니다.
다음 코드를 사용하여 이 작업을 수행할 수 있습니다 :-
$total_tax = floatval( preg_replace( '#[^\d.]#', '', WC()->cart->get_cart_total() ) ) - WC()->cart->get_total_ex_tax();
모든 세금에 대한 배열을 얻고 싶다면 아래 코드를 통과할 수 있습니다:-
WC()->cart->get_taxes( );
우리는 나에게 효과가 있었던 이 기능을 사용할 수 있습니다.
WC()->cart->get_total_tax();
언급URL : https://stackoverflow.com/questions/43422067/get-cart-tax-total-programmatically-in-woocommerce
반응형
'itsource' 카테고리의 다른 글
데이터베이스 테이블의 일부 기록을 확인하는 가장 빠른 방법은? (0) | 2023.10.24 |
---|---|
요소의 한쪽에 상자 그림자를 추가하려면 어떻게 해야 합니까? (0) | 2023.10.24 |
동면 상태의 스프링 부츠에서 호출을 구현하는 방법 (0) | 2023.10.24 |
DTD에서 PCDATA와 CDATA의 차이 (0) | 2023.10.19 |
이미지 이름으로 도커 컨테이너 중지 - Ubuntu (0) | 2023.10.19 |