首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WooCommerce按Product查询订单项

WooCommerce按Product查询订单项
EN

Stack Overflow用户
提问于 2013-12-04 04:42:04
回答 1查看 3.3K关注 0票数 0

这是一个有点奇怪的问题,但我很难找到如何做到这一点的答案:

我正在尝试创建一个自定义查询,该查询获取包含在WooCommerce订单中的所有产品(及其元)。

例如,假设我正在等待这些订单:

A级

  • 产品1
  • 产品2
  • 产品3

B命令

  • 产品4
  • 产品5
  • 产品6

我的目标是根据这些订购的产品创建一个列表,该列表由产品的元数据来订购。就像这样:

元密钥A产品

  • 产品1
  • 产品3
  • 产品4

但同样,这些产品(包括数量)只属于订单范围。

我面临的问题是存储在数据库中的"Order Item“和"Order Item Meta”非常有限,不能显示与产品相关的所有信息。换句话说,我没有找到获取信息的方法,我需要创建循环来创建我的列表。

我的数据库技能是有限的,所以想法将被感谢!

EN

回答 1

Stack Overflow用户

发布于 2013-12-08 15:30:01

以下是一些可能有助于您的相关代码:

代码语言:javascript
复制
add_filter( 'woocommerce_shop_order_search_fields', 'woocommerce_shop_order_search_product_cat' );

function woocommerce_shop_order_search_product_cat( $search_fields ) {

$args = array(
    'post_type' => 'shop_order'
    );

$orders = new WP_Query($args);

if($orders->have_posts()) {
        while($orders->have_posts()) {
        $post = $orders->the_post();
        $order_id = get_the_ID();
        $order = new WC_Order($order_id);
        $items = $order->get_items();
        foreach($items as $item) {
            $product_cats = wp_get_post_terms( $item['product_id'], 'product_cat' );
            foreach($product_cats as $product_cat) {
                add_post_meta($order_id, "_product_cat", $product_cat->name);
            }
        }
    }
};

$search_fields[] = '_product_cat';

return $search_fields;

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20366999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档