장바구니에있는 항목의 가격을 프로그래밍 방식으로 동적으로 변경해야합니다.Woocommerce : 프로그래밍 방식으로 장바구니에있는 항목 업데이트
나는 Woocommerce 액션 후크, 카트 및 세션 개체의 다양한 조합을 시도했지만 아무 것도 그 트릭을 수행하지 않는 것으로 보인다. 나는 이것이 그렇게 도전적이지 않을 것이라고 생각했다. 어떤 도움을 주셔서 감사합니다! 하지만 무기한 : (카트에서 항목을 제거 할 때 후크가 호출됩니다 예)
add_action('woocommerce_before_calculate_totals', 'change_cart_item_price');
function change_cart_item_price($cart_object) {
foreach ($cart_object->cart_contents as $key => $value) {
if(123 == $value['data']->id) {
$new_price = function_to_get_new_price($value, get_current_user_id());
$value['data']->price = $new_price;
}
}
}
위의 코드는 체크 아웃 페이지에 각 항목에 대한 가격을 변경하거나 카트를 업데이트 할 때.
Woocommerce Gravity Forms 부가 기능을 사용하고 있습니다. 나는 특정 제품을 가지고 있는데, 이것은 주어진 사용자에 의해 여러 번 주문 될 것이다. 사용자는 배송료 만 5 배로 무료로 제공되며 5 이상은 20 달러입니다. 동적으로 필드를 채우는 Gravity Forms 후크를 사용하여 코딩하고 기능을 많이 갖추고 있습니다. 해운은 중력 양식 내의 필드에만 해당되므로 중력 양식에 계산을 남겨 둡니다.
내 문제는 사용자가 주문에서이 제품의 수량을 줄이면 (카트에서 항목 중 하나를 제거한 경우) 카트 내의 동일한 제품의 각 품목 가격을 다시 계산해야한다는 것입니다. 그들은 ( 6 이제 4 인으로 사용되는 항목,하지만 가격은 안되는 동일하게 유지)를 통해 충전 할 수
따라서, 내가-계산을 다시하고 싶습니다 이 특정 제품의 수량에 따라 장바구니의 각 품목 가격이 카트에서 제거 될 때마다
--- 편집 ---
위의 코드는 작동하지만, 내가 가격을 표시하기 위해 사용하고 사용자 정의 루프해야 문제를 실현 해요 ...
foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
$_product = $cart_item['data'];
if(123 == $_product->post->ID) {
$price_not_updated = $cart_item['data']->price;
}
}
코드가 작동하지 않는 곳은 어디입니까? 우리가 당신이하고있는 것을보고 당신을 도울 수 있다면 최선입니다. – JakeGould
고마워, 제이크. 코드 및 내 문제에 대한 자세한 설명으로 업데이트했습니다. 정말 Woocommerce API 개체 또는 후크를 찾고 있다고 생각합니다. –
이것을 보셨습니까? http://docs.woothemes.com/document/woocommerce-dynamic-pricing/ – JakeGould