php - 按客户电子邮件或姓名搜索订单

标签 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 的订单

最佳答案

您要查找的是 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;
}

关于php - 按客户电子邮件或姓名搜索订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59922460/

相关文章:

html - 在同一行对齐文本和图像后出现奇怪的 html 格式

php - 使用 get_current_user_id() 的简单 IF 语句出现问题

PHP - 使用 foreach 删除重复项?

php - docker php gettext 不翻译

php - Cordova - jquery ajax 发布到服务器上的 php

mysql - 如果没有结果,则将查询中的所有值初始化为 0,将 top 初始化为 NULL

javascript - 使内部链接成为外部链接

php - MySql ORDER BY 多列 IF AND

mysql - 在同一个查询中获得用户群平均投票和单个用户的投票?

ajax - 代码错误导致 admin-ajax.php 500 错误