WC_Tracker::get_additional_order_data()
Fetch additional data for a specific set of orders.
Метод класса: WC_Tracker{}
Хуков нет.
Возвращает
Массив
. Additional data, indexed by order ID.
Использование
$result = WC_Tracker::get_additional_order_data( $order_ids );
- $order_ids(массив) (обязательный)
- List of order ID's to fetch data for.
Код WC_Tracker::get_additional_order_data() WC Tracker::get additional order data WC 9.6.1
private static function get_additional_order_data( $order_ids ) { global $wpdb; if ( empty( $order_ids ) || ! is_array( $order_ids ) ) { return array(); } $joined_ids = implode( ',', $order_ids ); $additional_data = array(); if ( OrderUtil::custom_orders_table_usage_is_enabled() ) { $op_table_name = OrdersTableDataStore::get_operational_data_table_name(); // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared $data = $wpdb->get_results( "SELECT order_id, woocommerce_version, recorded_sales FROM $op_table_name WHERE order_id IN ($joined_ids)", ARRAY_A ); // phpcs:enable foreach ( $data as $row ) { $additional_data[ $row['order_id'] ] = array( 'woocommerce_version' => $row['woocommerce_version'], 'recorded_sales' => $row['recorded_sales'] ? 'yes' : 'no', ); } } else { // phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared $data = $wpdb->get_results( "SELECT post_id AS order_id, meta_key, meta_value FROM $wpdb->postmeta WHERE meta_key IN ( '_order_currency', '_order_total', '_payment_method', '_payment_method_title', '_recorded_sales', '_order_version' ) AND post_id IN ($joined_ids) ", ARRAY_A ); // phpcs:enable foreach ( $data as $row ) { $meta_key = self::map_legacy_meta_key_name( $row['meta_key'] ); $additional_data[ $row['order_id'] ][ $meta_key ] = $row['meta_value']; } } return $additional_data; }