Automattic\WooCommerce\Internal\Admin
OrderMilestoneEasterEgg::compute_milestone_order_ids
Computes milestone order IDs from HPOS without hydrating order objects.
Method of the class: OrderMilestoneEasterEgg{}
No Hooks.
Returns
Array
Usage
// private - for code of main (parent) class only $result = $this->compute_milestone_order_ids(): array;
OrderMilestoneEasterEgg::compute_milestone_order_ids() OrderMilestoneEasterEgg::compute milestone order ids code 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;
}