WC_Connect_Service_Settings_Store::update_label_order_meta_data PHP Method

update_label_order_meta_data() public method

public update_label_order_meta_data ( $order_id, $new_label_data )
        public function update_label_order_meta_data($order_id, $new_label_data)
        {
            $raw_labels_data = get_post_meta((int) $order_id, 'wc_connect_labels', true);
            $labels_data = json_decode($raw_labels_data, true, WOOCOMMERCE_CONNECT_MAX_JSON_DECODE_DEPTH);
            foreach ($labels_data as $index => $label_data) {
                if ($label_data['label_id'] === $new_label_data->label_id) {
                    $labels_data[$index] = array_merge($label_data, (array) $new_label_data);
                }
            }
            update_post_meta($order_id, 'wc_connect_labels', json_encode($labels_data));
        }

Usage Example

 public function get_item($request)
 {
     $response = $this->api_client->get_label_status($request['label_id']);
     if (is_wp_error($response)) {
         $error = new WP_Error($response->get_error_code(), $response->get_error_message(), array('message' => $response->get_error_message()));
         $this->logger->log($error, __CLASS__);
         return $error;
     }
     $this->settings_store->update_label_order_meta_data($request['order_id'], $response->label);
     return array('success' => true, 'label' => $response->label);
 }
All Usage Examples Of WC_Connect_Service_Settings_Store::update_label_order_meta_data