Я вычислил расстояние между двумя точками с помощью вызова ajax. Я хочу добавить ["distance"] => "0km" в массив тележек в function.php.
Я попытался установить настраиваемое поле для сохранениярасстояние, но оно не работает.
function custom_func_ajax_request() {
$addressFrom = isset($_POST['origin'])?trim($_POST['origin']):"";
$addressTo = isset($_POST['dest'])?trim($_POST['dest']):"";
// Get distance in km
$distance = getDistance($addressFrom, $addressTo, "K");
add_action( 'woocommerce_cart_calculate_fees', 'woo_add_cart_fee',$distance );
$response = array();
$response['message'] = "Successfull Request";
$response['distance'] =$distance;
echo json_encode($response);
exit;
}
function woo_add_cart_fee($distance) {
global $woocommerce;
$woocommerce->cart->add_fee( __('distance', 'woocommerce'), $distance );
}
Я хочу включить ключ «расстояние» и его значение в массив корзины после вычисления расстояния.Вот небольшой выходной фрагмент.
["e12cb8b57b281ffd5b60a606e616e424"]=>
array(12) {
["key"]=>
string(32) "e12cb8b57b281ffd5b60a606e616e424"
["product_id"]=>
int(4237)
["variation_id"]=>
int(4241)
["variation"]=>
array(2) {
["attribute_quantity"]=>
string(5) "500ml"
["attribute_package"]=>
string(9) "Glass Jar"
}
["quantity"]=>
int(1)
["distance"]=>"2.4km" //Calculated from ajaxcall
}