Добавление key => value к массиву корзины в function.php с помощью WordPress - PullRequest
0 голосов
/ 24 июня 2019

Я вычислил расстояние между двумя точками с помощью вызова 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
}
...