WooCommerce의 카트 총 가격 변경
카트 합계가 0으로만 표시되는 문제가 발생하였습니다.
기본적으로 제가 하려는 것은 카트 소계에 모든 카트 아이템이 추가된 후에만 일정 금액의 보증금을 받는 것입니다.
예를 들어, 고객이 100달러 상당의 아이템을 추가했을 경우, 처음에 10달러 또는 합계 금액의 (10%)만을 지불하게 됩니다.
여기서 코드를 가져왔습니다:total과 tax_total Woocommerce를 변경하여 다음과 같이 커스터마이즈합니다.
add_action('woocommerce_cart_total', 'calculate_totals', 10, 1);
function calculate_totals($wc_price){
$new_total = ($wc_price*0.10);
return wc_price($new_total);
}
단, 그 코드가 유효하게 되어 있는 경우는, 합계액은 0.00으로 표시됩니다.코드를 제거하면 표준 합계가 나옵니다.
풀 API가 리스트 되어 있는 woocommerce 사이트에서도 플러그인 작성 방법에 관한 일반적인 기사만 찾을 수 없었습니다.
어떤 도움이나 올바른 방향의 포인트라도 좋습니다.
이것은 이 질문에 대한 답이 아닙니다.Loic's는 그렇다.이것은 10% 할인된 라인 아이템을 표시하는 또 다른 방법입니다.
function prefix_add_discount_line( $cart ) {
$discount = $cart->subtotal * 0.1;
$cart->add_fee( __( 'Down Payment', 'yourtext-domain' ) , -$discount );
}
add_action( 'woocommerce_cart_calculate_fees', 'prefix_add_discount_line' );
Woocommerce 3.2+는 새로운 클래스에서는 동작하지 않게 되었습니다.
새로운 답변: Woocommerce 3.2+에서 후크를 사용하여 카트 합계 변경
첫 번째 훅은 필터 훅이지 액션 훅이 아닙니다.또한 인수는 포맷된 가격이기 때문에 10% 인상할 수 없습니다.그래서 0이 반환되는 거야
Woocommerce v3.2 이전 버전에서는 일부 속성에 직접 액세스할 수 있습니다.
액션 훅에 후크된 커스텀 기능을 사용하는 것이 좋습니다.
이 방법:
// Tested and works for WooCommerce versions 2.6.x, 3.0.x and 3.1.x
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() ):
## Displayed subtotal (+10%)
// $cart_object->subtotal *= 1.1;
## Displayed TOTAL (+10%)
// $cart_object->total *= 1.1;
## Displayed TOTAL CART CONTENT (+10%)
$cart_object->cart_contents_total *= 1.1;
endif;
}
코드가 기능합니다.php 파일 또는 임의의 플러그인 파일에 있는 활성 자식 테마(또는 테마)입니다.
이 훅에서 WC_카트 방식을 사용하거나 크리스티나 답변처럼 별도로 사용할 수도 있습니다.
언급URL : https://stackoverflow.com/questions/43415783/change-cart-total-price-in-woocommerce
'programing' 카테고리의 다른 글
에서 JSON을 포맷하려면 어떻게 해야 하나요?C#을 사용한 NET? (0) | 2023.03.28 |
---|---|
컨버터를 사용하는 Grails 서비스를 테스트하려면 어떻게 해야 합니까? (0) | 2023.03.28 |
Rails의 j 기능은 무엇을 합니까? (0) | 2023.03.28 |
누군가가 AngularJS 스코프에 대한 $destroy 이벤트의 예를 제공할 수 있습니까? (0) | 2023.03.28 |
AngularJS: 폼 트리거 내의 모든 버튼이 전송됩니까? (0) | 2023.03.28 |