为了账号安全,请及时绑定邮箱和手机立即绑定

通过 WooCommerce WC_Order_Query 通过元数据获取订单

通过 WooCommerce WC_Order_Query 通过元数据获取订单

PHP
HUH函数 2022-11-04 16:42:31
如何通过编号(而不是 ID)获得 WooCommerce 订单?我尝试将 wc_get_orders 与自定义参数一起使用,例如:wc_get_orders( array( 'number' => '1000' ) );但这似乎不起作用。谢谢!
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

订单号功能实际上是通过 WooCommerce 中的第三方插件启用的......然后在这种情况下,WooCommerce 帖子类型的数据库表中meta_key存在一个新的,即.wp_postmetashop_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 );

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 ) );


查看完整回答
反对 回复 2022-11-04
  • 1 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信