订单号功能实际上是通过 WooCommerce 中的第三方插件启用的……然后在这种情况下,一个新的meta_key
存在于wp_postmeta
数据库表为shop_order
WooCommerce 帖子类型是_order_number
.
所以使用时默认不存在该参数wc_get_orders()
(in a 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;
}
代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并有效。
现在你可以使用number
参数通过a从订单号获取订单WC_Order_Query
:
$order = wc_get_orders( array( 'number' => 1000 ) );
请参阅文档: 在 WC_Order_Query 中添加自定义参数支持 https://github.com/woocommerce/woocommerce/wiki/wc_get_orders-and-WC_Order_Query#adding-custom-parameter-support.