通过 WooCommerce 按元数据获取订单 WC_Order_Query
Get orders by meta data via WooCommerce WC_Order_Query
如何通过编号(而不是 ID)获取 WooCommerce 订单?
我尝试将 wc_get_orders 与自定义参数一起使用,例如:
wc_get_orders( array( 'number' => '1000' ) );
但是好像不行
谢谢!
订单号功能实际上是通过 WooCommerce 中的第三方插件启用的……然后在这种情况下,wp_postmeta
数据库 table 中存在一个新的 meta_key
用于 shop_order
WooCommerce post 类型是 _order_number
.
所以在使用wc_get_orders()
(in a WC_Order_Query
).
时默认不存在该参数
但是您可以使用以下代码add/enable“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
参数通过 WC_Order_Query
:
从订单号中获取订单
$order = wc_get_orders( array( 'number' => 1000 ) );
如何通过编号(而不是 ID)获取 WooCommerce 订单?
我尝试将 wc_get_orders 与自定义参数一起使用,例如:
wc_get_orders( array( 'number' => '1000' ) );
但是好像不行
谢谢!
订单号功能实际上是通过 WooCommerce 中的第三方插件启用的……然后在这种情况下,wp_postmeta
数据库 table 中存在一个新的 meta_key
用于 shop_order
WooCommerce post 类型是 _order_number
.
所以在使用wc_get_orders()
(in a WC_Order_Query
).
但是您可以使用以下代码add/enable“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
参数通过 WC_Order_Query
:
$order = wc_get_orders( array( 'number' => 1000 ) );