Функциональность номеров заказов действительно включена через сторонний плагин в WooCommerce ... Тогда в этом случае в таблице wp_postmeta
существует новая meta_key
таблица для shop_order
типа записи WooCommerce, которая _order_number
.
Таким образом, этот параметр не существует по умолчанию при использовании wc_get_orders()
(в WC_Order_Query
) .
Но вы можете добавить / включить "number
"параметр с использованием следующего кода:
add_filter( 'woocommerce_order_data_store_cpt_get_orders_query', 'handle_order_number_custom_query_var', 10, 2 );
function handle_order_number_custom_query_var( $query, $query_vars ) {
if ( ! empty( $query_vars['number'] ) ) {
$query['meta_query'][] = array(
'key' => '_order_number',
'value' => esc_attr( $query_vars['number'] ),
);
}
return $query;
}
Код входит в функции. php файл вашей активной дочерней темы (или активной темы). Протестировано и работает.
Теперь вы можете использовать параметр number
, чтобы получить заказ по номеру заказа через WC_Order_Query
:
$order = wc_get_orders( array( 'number' => 1000 ) );
См. В документации: Добавление поддержки пользовательских параметров в WC_Order_Query .