dav*_*sor 5 php wordpress orders woocommerce
我正在尝试使用元键“order_referrer_id”获取所有商店订单,该值将是用户 ID,例如“1060”。
这是我到目前为止所尝试过的:
$args = array(
'limit' => -1,
'status' => 'completed',
'meta_query' => array(
array(
'key' => 'order_referrer_id',
'value' => 1060,
'compare' => '='
),
),
'return' => 'ids',
);
$orders = wc_get_orders( $args );
Run Code Online (Sandbox Code Playgroud)
由于某种原因,查询忽略元查询并返回所有订单。
筛选店铺订单的正确方法是什么?
7uc*_*f3r 11
wc_get_orders并WC_Order_Query提供一种标准的订单检索方法,该方法可以安全使用,并且不会因未来 WooCommerce 版本中的数据库更改而中断。
来源:wc_get_orders 和 WC_Order_Query
\n您可以使用meta_key,meta_value和meta_compare,这样您就得到:
$args = array(\n \'status\' => \'completed\', // Accepts a string: one of \'pending\', \'processing\', \'on-hold\', \'completed\', \'refunded, \'failed\', \'cancelled\', or a custom order status.\n \'meta_key\' => \'order_referrer_id\', // Postmeta key field\n \'meta_value\' => 1060, // Postmeta value field\n \'meta_compare\' => \'=\', // Possible values are \xe2\x80\x98=\xe2\x80\x99, \xe2\x80\x98!=\xe2\x80\x99, \xe2\x80\x98>\xe2\x80\x99, \xe2\x80\x98>=\xe2\x80\x99, \xe2\x80\x98<\xe2\x80\x98, \xe2\x80\x98<=\xe2\x80\x99, \xe2\x80\x98LIKE\xe2\x80\x99, \xe2\x80\x98NOT LIKE\xe2\x80\x99, \xe2\x80\x98IN\xe2\x80\x99, \xe2\x80\x98NOT IN\xe2\x80\x99, \xe2\x80\x98BETWEEN\xe2\x80\x99, \xe2\x80\x98NOT BETWEEN\xe2\x80\x99, \xe2\x80\x98EXISTS\xe2\x80\x99 (only in WP >= 3.5), and \xe2\x80\x98NOT EXISTS\xe2\x80\x99 (also only in WP >= 3.5). Values \xe2\x80\x98REGEXP\xe2\x80\x99, \xe2\x80\x98NOT REGEXP\xe2\x80\x99 and \xe2\x80\x98RLIKE\xe2\x80\x99 were added in WordPress 3.7. Default value is \xe2\x80\x98=\xe2\x80\x99.\n \'return\' => \'ids\' // Accepts a string: \'ids\' or \'objects\'. Default: \'objects\'.\n);\n\n$orders = wc_get_orders( $args );\n\n// NOT empty\nif ( ! empty ( $orders ) ) { \n foreach ( $orders as $order ) {\n echo \'<p>ID = \' . $order . \'</p>\';\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
6150 次 |
| 最近记录: |