Come aggiungere metadati personalizzati agli ordini WooCommerce? In particolare un secondo ID ordine esterno
Sto lavorando alla creazione di un'integrazione personalizzata tra WooCommerce e il nostro ERP interno. Ho agganciato l'hook woocommerce_checkout_order_processed
in modo che quando viene effettuato un ordine invio tutte le informazioni pertinenti al nostro ERP e la risposta è un ID ordine. Questo è un ID ordine diverso da quello presente in WooCommerce e ho bisogno di un modo per mappare l'ID ordine dell'ERP con quello di WooCommerce. Qual è il modo migliore per realizzarlo?
Ho provato ad aggiungere metadati personalizzati, ma finora non ha funzionato.
add_metadata( "shop_order", $order->id, "mapics_order", (string) $orderNumber, TRUE );
e sto cercando di evitare di utilizzare wc_add_order_item_meta
poiché questo non è specifico per l'articolo, ma per l'intero ordine stesso.

puoi utilizzare l'hook woocommerce_checkout_update_order_meta
per aggiornare i meta dell'ordine. Controlla il codice di esempio
add_action('woocommerce_checkout_update_order_meta', 'custom_checkout_field_update_order_meta');
function custom_checkout_field_update_order_meta($order_id)
{
session_start();
if ($_SESSION['mapics_order'])
update_post_meta($order_id, 'mapics_order', esc_attr(htmlspecialchars($_SESSION['mapics_order'])));
}

Fantastico, grazie! L'ho semplificato usando solo update_post_meta
che sembra funzionare bene, ma dovrò fare qualche controllo per esserne sicuro.

sessioni? sono ancora permesse in php? ;) più seriamente, dove dovrebbero esattamente finire i dati nella sessione?
