나는 여기에 게시하고 싶지 않았지만 내가 찾고있는 답변을 찾을 수 없었고 나의 정확한 대답을 얻기 위해 다른 VERY SIMILAR 질문에 대해 논평하는 데 충분한 명성이 없습니다. WooCommerce: Add product to cart with price override?Woocommerce : 사용자 입력을 기반으로 한 사용자 정의 가격
코드를 사용하여 :
은이 게시물에서 거의 완벽한 해답을 발견add_action('woocommerce_before_calculate_totals', 'add_custom_price');
function add_custom_price($cart_object) {
$custom_price = 10; // This will be your custome price
foreach ($cart_object->cart_contents as $key => $value) {
$value['data']->price = $custom_price;
}
}
과 하드 코드 된 사용자 정의 가격을 설정 한 경우는 ... 잘 작동합니다.
내 질문 : 사용자 입력을 기반으로 맞춤형 가격을 어떻게 설정할 수 있습니까?
나는 정보를 전달할 수있는 모든 방법을 시도했으며 (쿠키, 전역, 세션을 사용해 보았습니다.) 아무도 내가 원했던 방식으로 작동하지 않았으며 모든 것이 해킹으로 이루어졌습니다.
해당 제품은 기부이며 고객은 사용자가 정가가 설정된 가변 제품을 만드는 것보다는 기부 가격을 설정할 수 있기를 원합니다.
$donation_success = $woocommerce->cart->add_to_cart($donation_id);
내 기부 제품은이 추가됩니다 그래서 0.00의 세트 가격을 가지고 : 사용자가 내가 지금처럼 장바구니에 기부 제품을 추가하고 기부 양식을 제출 기부 페이지에서
카트 가격이 0.00입니다. (이 시점에서 가격이 정해져 있는지 모르겠습니다.)나는이 시점에서 배열을 허용하는 add_to_cart 메소드의 마지막 변수를 사용하여 정보를 전달하려고 시도했습니다. 논쟁을하지만, 나는 그 중 하나를 작동시키지 못했습니다.
나는 대답이 간단하다고 확신하지만이 작업을 수행하는 데 몇 시간 씩 노력하고 있으며 제대로 작동하지 않습니다. 나는 아이디어가 없다.
내가 지금 사용하고 실제 코드는 같은 위 게시물의 응답자에 의해 제안 된보다 약간 다르지만 기본적으로 작동합니다 어떤 도움이되는 조언을 사전에
add_action('woocommerce_before_calculate_totals', 'woo_add_donation');
function woo_add_donation() {
global $woocommerce;
$donation = 10;
foreach (WC()->cart->get_cart() as $cart_item_key => $cart_item) {
if($cart_item['data']->id == 358 || $cart_item['data']->id == 360){
$cart_item['data']->set_price($donation);
}
}
}
감사합니다!
내가 찾는 것! 나는 무의미한 기능을 변경하려고 무수한 시간을 보냈다. 이것은 완벽하게 작동하고 가격을 변경 :) 다시 한번 많은 감사! – shish
API 요청을 통해 제품을 추가 할 때 어떻게이 기능을 광고 할 수 있습니까? –