在 woocommerce 中使用电子邮件 ID 搜索所有订单

Search All order with email Id in woocommerce

我是 woocommerce 的新手,我想在 wordpress 中创建一个模板,当客户输入 email ID 时,在提交此电子邮件 ID 后,系统将显示由该电子邮件 ID

问题是How can I search All order list by that email ID ?

试试下面的代码: 这里使用了一个短代码来调用和显示输出。因此,用户 [wdm__customer_orders] 简码并用您的数据替换评论。

add_shortcode('wdm__customer_orders', 'wmd_my_custom_function');
function wmd_my_custom_function(){
  $user_email=/*email id of your choice for which you want to list out orders*/;
  $user_info=get_user_by( 'email', $user_email );
  $user_id=$user_info->ID;
  print_r(get_meta_values('_customer_user',$user_id));
}

function get_meta_values( $key = '', $user_id = '' ) {

    global $wpdb;

    if( empty( $key ) )
        return;

    $r = $wpdb->get_col( $wpdb->prepare( "
        SELECT pm.post_id FROM {$wpdb->postmeta} pm
        LEFT JOIN {$wpdb->posts} p ON p.ID = pm.post_id
        WHERE pm.meta_key = '%s' AND  pm.meta_value = '%s'
    ", $key,$user_id ) );

    return $r;
}

使用此函数检索用户的订单 ID 列表。

这是为了测试目的,您稍后应该根据需要进行更改和集成。