Alts? at det registreres i ordren i nettbutikken deres? Det som registreres i selve appen kan ikke pluginen gj?re noe med.
I den normale kassen s? kommer addresseinformasjonen fra Woo, s? der skal det ikke v?re noe problem. I hurtigkassen s? settes addressen i ordren to steder: Ved shipping callback fra Vipps, og n?r selve ordren opprettes. Det enkleste er antagelig da ? s?rge for ? slette addresseinfo fra ordren i dette siste steget.
Det er da en hook du kan bruke:
do_action('woo_vipps_set_order_shipping_details', $order, $shipping, $user);
Du kan antagelig se p? $order->needs_shipping_address()
bare for ? v?re sikker, men du kan da lage en funksjon p? denne hooken, som eksempelet under.
Dette er bare lett testet, s? pr?v gjerne f?rst i et testnettsted om du har. Koden legges i en plugin eller i ditt (child-)-themes functions.php
:
add_action('woo_vipps_set_order_shipping_details', function ($order, $shipping, $user) {
$virtual = true;
// Make sure entire order is virtual
foreach ($order->get_items() as $item) {
if (!$item->is_type( 'line_item' )) continue;
$product = $item->get_product();
if (! $product) continue;
if ($product->is_virtual()) continue;
$virtual = false; break;
}
// For pure virtual orders, don't record address
if ($virtual) {
$order->set_billing_address_1('');
$order->set_billing_address_2('');
$order->set_billing_city('');
$order->set_billing_postcode('');
$order->set_billing_country('');
$order->set_shipping_address_1('');
$order->set_shipping_address_2('');
$order->set_shipping_city('');
$order->set_shipping_postcode('');
$order->set_shipping_country('');
$order->save();
}
}, 10, 3);