¿Cómo agregar metadatos personalizados a pedidos de WooCommerce? Específicamente un segundo ID de pedido externo
Estoy trabajando en crear una integración personalizada entre WooCommerce y nuestro ERP interno. Me conecté al hook woocommerce_checkout_order_processed
para que cuando se realice un pedido, envíe toda la información relevante a nuestro ERP y la respuesta sea un ID de pedido. Este es un ID de pedido diferente al que está en WooCommerce y necesito una forma de mapear el ID de pedido del ERP con el de WooCommerce. ¿Cuál es la mejor manera de lograr esto?
He intentado agregar metadatos personalizados, pero hasta ahora ha fallado.
add_metadata( "shop_order", $order->id, "mapics_order", (string) $orderNumber, TRUE );
y estoy tratando de evitar usar wc_add_order_item_meta
ya que esto no es específico del artículo, sino para todo el pedido en sí.

puedes usar el hook woocommerce_checkout_update_order_meta
para actualizar los metadatos del pedido. Por favor revisa el código de ejemplo
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'])));
}

¡Increíble, gracias! Lo reduje a solo update_post_meta
que parece estar funcionando bien, pero necesitaré hacer algunas verificaciones para estar seguro.

¿sesiones? ¿todavía están permitidas en php? ;) hablando en serio, ¿dónde se supone que exactamente deben ir los datos en la sesión?
