public function update_shipping($item, $args)
{
wc_deprecated_function('WC_Order::update_shipping', '2.7', 'Interact with WC_Order_Item_Shipping class');
if (is_numeric($item)) {
$item = $this->get_item($item);
}
if (!is_object($item) || !$item->is_type('shipping')) {
return false;
}
if (!$this->get_id()) {
$this->save();
// Order must exist
}
// BW compatibility for old args
if (isset($args['cost'])) {
$args['total'] = $args['cost'];
}
$item->set_order_id($this->get_id());
$item->set_props($args);
$item->save();
$this->calculate_shipping();
do_action('woocommerce_order_update_shipping', $this->get_id(), $item->get_id(), $args);
return $item->get_id();
}