WooCommerce에서 배송 방법 가격을 업데이트하는 동적 방법
<p>내 배송 방법에 대한 배송 가격을 동적으로 업데이트하려고 합니다. API에서 배송비를 가져오고 API 응답에서 가격을 성공적으로 가져오면 가격을 업데이트하고 싶습니다. 저는 다음 코드를 사용하고 있습니다: </p>
<pre class="brush:php;toolbar:false;">function handler_api_response( $rates ) {
//API 호출 코드는 여기에 있습니다.....
if ($response_code === 200){
$response_data = json_decode($response, true);
$price = $response_data['배송']
}
add_filter( 'woocommerce_package_rates', 'set_shipping_prices', PHP_INT_MAX, 1 );
함수 set_shipping_prices( $rates ) {
foreach ( $rates as $rate_id => $rate ) {
$rates[ $rate_id ]->비용 = $price;
}
$rates를 반환합니다.
}
}</pre>
<p>위 코드는 작동하지 않지만, 필터를 handler_api_response 함수 밖으로 옮기고 수수료에 정적 값을 설정하면 작동하는 것 같습니다. 다음과 같습니다: </p>
<pre class="brush:php;toolbar:false;">function handler_api_response( $rates ) {
//API 호출 코드는 여기에 있습니다.....
if ($response_code === 200){
$response_data = json_decode($response, true);
$price = $response_data['배송']
}
}
add_filter( 'woocommerce_package_rates', 'set_shipping_prices', PHP_INT_MAX, 1 );
함수 set_shipping_prices( $rates ) {
foreach ( $rates as $rate_id => $rate ) {
$rates[ $rate_id ]->비용 = 50;
}
$rates를 반환합니다.
}</pre>
<p>내 문제는 API에서 가격 값을 가져오고 있으므로 필터가 트리거될 때 실행되는 set_shipping_prices 함수에 API 응답의 가격을 전달해야 한다는 것입니다. </p>