Abstract_WC_Order_Data_Store_CPT::get_item_ids
Get persisted order item IDs, optionally limited to an item type.
Метод класса: Abstract_WC_Order_Data_Store_CPT{}
Хуков нет.
Возвращает
int[].
Использование
$Abstract_WC_Order_Data_Store_CPT = new Abstract_WC_Order_Data_Store_CPT(); $Abstract_WC_Order_Data_Store_CPT->get_item_ids( $order, $type );
- $order(WC_Order) (обязательный)
- Order object.
- $type(строка|null)
- Order item type, or null for every type.
По умолчанию:null
Список изменений
| С версии 11.1.0 | Введена. |
Код Abstract_WC_Order_Data_Store_CPT::get_item_ids() Abstract WC Order Data Store CPT::get item ids WC 11.2.2
public function get_item_ids( $order, $type = null ) {
global $wpdb;
if ( ! $order->get_id() ) {
return array();
}
if ( null === $type ) {
$item_ids = $wpdb->get_col(
$wpdb->prepare(
"SELECT order_item_id FROM {$wpdb->prefix}woocommerce_order_items WHERE order_id = %d",
$order->get_id()
)
);
} else {
$item_ids = $wpdb->get_col(
$wpdb->prepare(
"SELECT order_item_id FROM {$wpdb->prefix}woocommerce_order_items WHERE order_id = %d AND order_item_type = %s",
$order->get_id(),
$type
)
);
}
if ( '' !== $wpdb->last_error ) {
wc_get_logger()->error(
'Failed to retrieve persisted order item IDs.',
array(
'source' => 'order-data-store',
'order_id' => $order->get_id(),
'error' => $wpdb->last_error,
)
);
throw new Exception( esc_html__( 'Unable to retrieve persisted order item IDs.', 'woocommerce' ) );
}
return array_map( 'intval', $item_ids );
}