Woocommerce 업데이트 카트 버튼 작업 후 실행 중인 후크
카트 페이지에서 카트 업데이트 버튼을 클릭한 후 어떤 훅이 실행 중인지 알아야 합니다.
그것은 카트 페이지에 4개의 버튼이 있습니다.update cart
,continue shopping
,proceed to checkout
,apply coupon
.
그래서 카트 업데이트 버튼을 클릭한 후 어떤 훅이 실행되는지 알고 싶습니다.수량을 변경한 후 고객이 카트 업데이트 버튼을 클릭하면 카트 내 총 가격을 변경할 수 있는 특별한 기능을 실행해야 합니다.어떤 조건이 충족되면 카트 내 총 가격을 변경하고 이 총 가격도 계산 페이지로 전달해야 합니다.
제발 도와주세요.
예를들면
add_filter('after_update_cart_function_finished', 'special_function');
function special_function(){
$applied_coupons= WC()->cart->get_applied_coupons();
if(!empty($applied_coupons)){
$new_value=WC()->cart->get_cart_subtotal();
$discounted=WC()->cart->coupon_discount_totals;
$discounted_value=array_values($discounted)[0];
$new_value=$new_value-$discounted_value+100;
WC()->cart->set_total_price($new_value);
After this update all post_meta value that regarding to order total
}
}
카트의 값을 변경하려면 다음 커스텀 함수를 참조하십시오.
function action_woocommerce_cart_totals_after_order_total( ) {
$applied_coupons= WC()->cart->get_applied_coupons();
if(!empty($applied_coupons)){
$new_value=WC()->cart->get_cart_subtotal();
$discounted=WC()->cart->coupon_discount_totals;
$discounted_value=array_values($discounted)[0];
$new_value=$new_value-$discounted_value;
if($new_value<100){
$new_value=$new_value+5;
}
?>
<style>
.new-price-new{
color:black;
font-size: 17px;
}
</style>
<script>
jQuery(function($){
$(".order-total .woocommerce-Price-amount.amount").text("£<?php echo $new_value;?>");
$(".order-total .woocommerce-Price-amount.amount").hide();
$(".new-price").remove();
$('.order-total .woocommerce-Price-amount.amount').after('<div class="new-price-new">£<?php echo $new_value;?></div>');;
$(".new-price-new").show();
});
</script>
<?php
}
else{
?>
<script>
jQuery(function($){
$(".new-price-new").remove();
});
</script>
<?php }
};
add_action( 'woocommerce_cart_totals_after_order_total', 'action_woocommerce_cart_totals_after_order_total', 10, 0 );
그리고 이 함수는 많은 문제를 가지고 있습니다, 저는 어떤 이유로 이 함수를 쓰거나 다른 함수의 woocommerce가 쿠폰 가격을 정확하게 계산하지 못하고 있기 때문에 이 함수를 카트에서 제품 가격을 수동으로 업데이트하기 위해 씁니다.카트 값이 100을 넘으면 무료배송, 기타 바이스는 5를 추가합니다.이 기능조차 제대로 작동하지 않습니다.
시도해 보세요.woocommerce_update_cart_action_cart_updated
액션 훅저는 당신의 코드를 조금 다시 보았습니다.이것을 시험해 보세요.
add_action( 'woocommerce_update_cart_action_cart_updated', 'on_action_cart_updated', 20, 1 );
function on_action_cart_updated( $cart_updated ){
$applied_coupons = WC()->cart->get_applied_coupons();
if( count( $applied_coupons ) > 0 ){
$new_value = WC()->cart->get_cart_subtotal();
$discounted = WC()->cart->coupon_discount_totals;
$discounted_value = array_values($discounted)[0];
$new_value = $new_value-$discounted_value + 100;
WC()->cart->set_total( $new_value );
if ( $cart_updated ) {
// Recalc our totals
WC()->cart->calculate_totals();
}
}
}
코드가 기능합니다.php 파일에는 액티브한 아이 테마(또는 활성 테마).검증되지 않았다.작동할 수 있었다.
업데이트:WC_Cart
set_total_price()
메서드가 존재하지 않습니다.기존 제품으로 교체했습니다.WC_Cart
set_total()
언급URL : https://stackoverflow.com/questions/49493085/which-hook-is-running-after-woocommerce-update-cart-button-action
'programing' 카테고리의 다른 글
jQuery Ajax 호출 및 HTML.위조 방지토큰() (0) | 2023.03.31 |
---|---|
Python Flask, TypeError: 'dict' 개체를 호출할 수 없습니다. (0) | 2023.03.31 |
woocommerce 사이트의 제품 목록에 있는 빠른 편집 옵션에 사용자 지정 제품 필드 추가 (0) | 2023.03.26 |
키 값 쌍의 유형 스크립트 맵을 정의하는 방법.여기서 key는 숫자이고 value는 개체의 배열입니다. (0) | 2023.03.26 |
헤더에 위젯을 추가하는 방법.wordpress로 php? (0) | 2023.03.26 |