OhM*_*Mad 1 php wordpress orders query-variables woocommerce
如何通过订单号(而不是 ID)获取 WooCommerce 订单?
我尝试将 wc_get_orders 与自定义参数一起使用,例如:
wc_get_orders( array( 'number' => '1000' ) );
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用。
谢谢!
订单号功能实际上是通过 WooCommerce\xe2\x80\xa6 中的第三方插件启用的。然后在这种情况下,数据库表meta_key
中存在一个新的WooCommerce 帖子类型,即.wp_postmeta
shop_order
_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 );\nfunction handle_order_number_custom_query_var( $query, $query_vars ) {\n if ( ! empty( $query_vars[\'number\'] ) ) {\n $query[\'meta_query\'][] = array(\n \'key\' => \'_order_number\',\n \'value\' => esc_attr( $query_vars[\'number\'] ),\n );\n }\n\n return $query;\n}\n
Run Code Online (Sandbox Code Playgroud)\n代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并有效。
\n现在您可以使用number
参数通过以下方式从订单号获取订单WC_Order_Query
:
$order = wc_get_orders( array( \'number\' => 1000 ) );\n
Run Code Online (Sandbox Code Playgroud)\n请参阅文档: 在 WC_Order_Query 中添加自定义参数支持。
\n