Automattic\WooCommerce\Internal\Admin
OrderMilestoneEasterEgg::compute_milestone_order_ids
Computes milestone order IDs from HPOS without hydrating order objects.
Метод класса: OrderMilestoneEasterEgg{}
Хуков нет.
Возвращает
Массив<Строку,. int>
Использование
// private - только в коде основоного (родительского) класса $result = $this->compute_milestone_order_ids(): array;
Код OrderMilestoneEasterEgg::compute_milestone_order_ids() OrderMilestoneEasterEgg::compute milestone order ids WC 10.9.1
private function compute_milestone_order_ids(): array {
global $wpdb;
if ( ! OrderUtil::custom_orders_table_usage_is_enabled() ) {
return array();
}
$qualifying_order_ids = array_map(
'absint',
$wpdb->get_col(
$wpdb->prepare(
'SELECT id
FROM %i
WHERE type = %s
AND status IN ( %s, %s )
AND transaction_id IS NOT NULL
AND transaction_id <> %s
ORDER BY date_created_gmt ASC, id ASC
LIMIT %d',
OrdersTableDataStore::get_orders_table_name(),
'shop_order',
'wc-processing',
'wc-completed',
'',
self::MAX_QUALIFYING_ORDERS
)
)
);
$milestone_order_ids = array();
foreach ( self::MILESTONE_POSITIONS as $pos => $key ) {
if ( isset( $qualifying_order_ids[ $pos ] ) ) {
$milestone_order_ids[ $key ] = (int) $qualifying_order_ids[ $pos ];
}
}
return $milestone_order_ids;
}