我目前能够使用wc_get_orders()和WC订单查询返回woocommerce订单。
https://github.com/woocommerce/woocommerce/wiki/wc_get_orders-and-WC_Order_Query
我的订单查询是:
$query = new WC_Order_Query( array(
'paginate' => true,
'limit' => 2,
'orderby' => 'date',
'order' => 'DESC',
) );
$activity = $query->get_orders();
上面的Woocomerce文档链接显示您可以通过自定义元查询。
/**
* Handle a custom 'customvar' query var to get orders with the 'customvar' meta.
* @param array $query - Args for WP_Query.
* @param array $query_vars - Query vars from WC_Order_Query.
* @return array modified $query
*/
function handle_custom_query_var( $query, $query_vars ) {
if ( ! empty( $query_vars['customvar'] ) ) {
$query['meta_query'][] = array(
'key' => 'customvar',
'value' => esc_attr( $query_vars['customvar'] ),
);
}
return $query;
}
add_filter( 'woocommerce_order_data_store_cpt_get_orders_query', 'handle_custom_query_var', 10, 2 );
我无法确定如何按产品ID进行查询,以便显示特定产品的订单并具有工作分页。
查询返回订单后,我可以使用get_items()函数获取订单产品ID。但是我无法正确地从原始查询中分页。
是否有其他方法可以实现这一目标?使用woocomerce API会更好的方法还是直接的SQL查询?
帮助将不胜感激。