write_meta($order); } public function attach_meta_from_store_api($order, $request = null): void { if (!$order instanceof \WC_Order) { return; } $this->write_meta($order); } public function attach_meta_after_classic($order_id): void { $order = wc_get_order($order_id); if ($order) { $this->write_meta($order); $order->save(); } } public function attach_meta_after_store_api($order): void { if ($order instanceof \WC_Order) { $this->write_meta($order); $order->save(); } } private function write_meta(\WC_Order $order): void { $state = Attribution::get_state(); if ($state['session_id'] === '') { $state = Attribution::set_state($state); } $order->update_meta_data('_fsession', $state['session_id']); if ($state['distributor_id'] !== '') { $order->update_meta_data('foresight-distributor-id', $state['distributor_id']); $order->update_meta_data('_fdist', $state['distributor_id']); } if ($state['event_id'] !== '') { $order->update_meta_data('foresight-event-id', $state['event_id']); $order->update_meta_data('_fevent', $state['event_id']); } if ($state['event_title'] !== '') { $order->update_meta_data('foresight-event-title', $state['event_title']); } } }