通过客户电子邮件或姓名搜索订单

时间:2020-01-26 20:30:39

标签: php mysql wordpress woocommerce

如何修改wc_get_orders,使传递的参数是“ OR”而不是“ AND”?假设我想查找与提供的任何参数匹配的订单,而不是全部。

例如以下示例:https://github.com/woocommerce/woocommerce/wiki/wc_get_orders-and-WC_Order_Query#address-and-name –我要获取姓氏为Claudio或姓氏为Sanches的订单

1 个答案:

答案 0 :(得分:1)

您要寻找的是woocommerce_order_data_store_cpt_get_orders_query过滤器。

add_filter( 'woocommerce_order_data_store_cpt_get_orders_query', 'rmg_woocommerce_order_data_store_cpt_get_orders_query' );
function rmg_woocommerce_order_data_store_cpt_get_orders_query( $wp_query_args ) {

    if (is_array($wp_query_args['meta_query'])) {
        $wp_query_args['meta_query']['relation'] = 'OR';
    }
    return $wp_query_args;
}