php - 前端的 woocommerce 买家电子邮件

标签 php wordpress woocommerce

我使用 Wordpress 创建了网站和 WooCommerce插件,我成功地让用户从前端发布产品,
我要显示产品订单

正如你在这张图片中看到的
detailed images

我成功显示了产品的总销售额, 现在我想向所有买家显示该产品的信息/

到目前为止我已经得到了这段代码

<?php

 $p = $post->ID;
 $args = array(
   'post_type' => 'shop_order',
   'post_status' => 'publish',
   'meta_key' => '_customer_user',
   'posts_per_page' => '-1'
 );

 $my_query = new WP_Query($args);
 $customer_orders = $my_query->posts;
 //print_r($customer_orders);
 foreach ($customer_orders as $customer_order) {
   $order = new WC_Order();
   $order->populate($customer_order);
   $orderdata = (array) $order;
   $fields = array_values($orderdata);
   //print_r($fields);
   echo 'Status: '.$fields[1];                           
   echo '<br>Date  : '.$fields[2];                           
   echo '<br>Email  : '.$fields[16];                           

 }

?>

这段代码工作正常,但它显示了所有产品的详细信息

我想要的是:根据产品 ID 显示有关产品的信息

所以我想编辑此代码以根据 post->id

获得结果
$p = $post->ID;
     $args = array(
       'post_type' => 'shop_order',
       'post_status' => 'publish',
       'meta_key' => '_customer_user',
       'posts_per_page' => '-1'
     );

最佳答案

好的,所以阅读您的问题并假设 $post->ID 是您要显示包含的订单的产品的 ID,这就是您需要的:

<?php
$products = array();
foreach (get_posts('post_type=shop_order&numberposts=-1&post_status=publish') as $order) {
    $order = new WC_Order($order->ID);
    foreach($order->get_items('line_item') as $item) {
        $product_id = (!empty($item['variation_id'])) ? $item['variation_id'] : $item['product_id'];
        $products[] = $product_id;
    }
    if (in_array($post->ID,$products)) {
        echo 'Status: '.$order->order_status;                         
        echo '<br>Date  : '.$order->order_date;                           
        echo '<br>Email  : '.$order->billing_email; 
    }   
}

关于php - 前端的 woocommerce 买家电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20787587/

相关文章:

php - Symfony2 全局函数

mysql - 如何在 MySQL 中使用数组

wordpress - 是否可以使用其API获取YouTube的所有视频?

php - 如何使用缩略图限制返回的产品类别(WooCommerce)

javascript - 表单不会通过ajax提交

php - prestashop 1.5 核心文件覆盖

php - 如果链接中的 html 等于某内容,我该如何操作链接或链接的父级?

mysql - 为什么我不能在 wordpress 中使用 CREATE 直接创建表

php - 更改 my-account/lost-password/page 上的 Woocommerce 丢失密码文本,无需模板覆盖

php - 从 Woocommerce 中的优惠券使用中排除具有 2 个特定属性术语的变体