【问题标题】:Woocommerce: Query total sales by product tag AND product category?Woocommerce:按产品标签和产品类别查询总销售额?
【发布时间】:2017-02-06 22:01:06
【问题描述】:

我完全不知道如何从我的 woocommerce 订单中获取一些“相对”简单的数据。

我需要的是一个查询,它允许我简单地插入一个类别和一个标签并返回总销售额(作为收入 [$]),这样我就可以对结果进行一些简单的数学运算并显示金额.

我正在尝试在我的工作室网站上创建一个按项目“网络漫画”、“游戏”等分类的店面,然后通过标签“过滤该类别中任何产品销售的销售”贡献”或“销售”。

这样做的目的是在项目页面上显示一个非常基本的指标,以分解我在时间和金钱上的项目投入,以及我在赞助和商品销售方面从中获得的收益。

我去的想法是:

  • 查询:“贡献”中“$project”的总收益是多少?
  • 查询 2:“sales”中“$project”的总收入是多少?
  • 显示:“$project”的贡献为 X,销售额为 Y。 总 Z。

如果不是标签和类别,我将如何为我的产品提供可以通过订单查询的自定义字段?

在这方面的任何帮助都会非常有帮助。

进一步研究补充:

This question asks WHERE the order data is being stored.

我将如何查询不同的数据块以跟踪一行到我需要的所有块?

查询 shop_orders > 循环遍历订单 > 将 order_item 具有正确类别和标签的订单推送到数组中

是我最初的想法。有没有更有效的方法来做到这一点?

【问题讨论】:

标签: php mysql database wordpress woocommerce


【解决方案1】:

Using the source code from this plugin I was able to find the query information that I needed to get the proper data returned to me.

我将函数:public function awts_get_total_sales_per_product($product_id ='') 从第 92 行复制到我的自定义简码文件中。

然后我进行了自己的查询:

$args = array(
    'numberposts' => -1,
    'post_type' => 'product',
    'product_cat' => $shopSlug,
    'product_tag' => 'contribution', //contribution in one query, merch in the other.
    'orderby' => 'date',
    'order' => 'dsc');

然后只是做了一个foreach循环来总结所有的结果:

$query = get_posts( $args );

    foreach ( $query as $post ) : setup_postdata( $post );
        $var = awts_get_total_sales_per_product($post->ID);
        $contributed += $var->{_line_total};
    endforeach;

我要感谢将工作放入 Woo-Total-Sales 插件的人,我实际上会继续在网站上使用它。我希望我不必破解一个制作精良的插件来获得我需要的东西,但已经 3 天了,我真的需要继续我的开发。

【讨论】:

  • 如果您不使用循环函数,则不应使用setup_postdata($post)。如果你使用它,那么你必须wp_reset_postdata()
  • 那么我怎样才能删除它并且仍然能够使用我上面列出的相同功能?
  • 去掉就好了,它对你的代码没有影响,但是会重写全局$post变量。
  • 好了。谢谢!
猜你喜欢
  • 2019-07-09
  • 1970-01-01
  • 2010-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-05
相关资源
最近更新 更多