2017-02-06 10 views
1

私は、どのように私のwoocommerceの注文からいくつかの '比較的'単純なデータを取得する方法を失っています。Woocommerce:商品タグと商品カテゴリ別の合計売上を照会しますか?

私が必要とするのは、単純にカテゴリーとタグをつなげて総売上高(所得[$])を返すことができるクエリです。結果を使って簡単な数式を実行し、量。

"Webcomic"、 "Game"などのプロジェクトでカテゴリに分類されたスタジオのウェブサイトに店頭を構えようとしていて、そのカテゴリ内の製品販売のANY "貢献"または "売上"。

これは、プロジェクトページに非常に初歩的なメトリックを表示して、プロジェクトに投資した時間と金額、そして後援や売り上げで獲得したことを分かりやすくすることです。

アイデア私が行くことであること:

  • クエリ:「貢献」の「$プロジェクト」の総利益は何ですか?
  • クエリ2:「売上」の「$プロジェクト」の合計収益はいくらですか?
  • 表示: "$ project"は貢献でX、売上でYを獲得しました。 Z.の総計

Screenshot of Metrics Widget

タグやカテゴリでない場合は、どのように私は私が注文を通じて照会することができるだろう、私の製品のカスタムフィールドを与えることに行きますか?

この点に関する助けがあれば、非常に助かります。

は、さらなる研究によって追加されました:

This question asks WHERE the order data is being stored.

は、どのように私は私が必要とするすべてのチャンクにラインをトレースするデータの異なるチャンクを照会しに行きますか?

クエリshop_orders> ORDER_ITEMの命令>プッシュ受注をループは、配列

に適切なカテゴリとタグが私の最初の考えられています。これを行うより効率的な方法がありますか?

+0

[ほとんどこれを行うWPアドオンが見つかりました。私は短くコードから機能をプログラムで呼び出す方法について著者にお尋ねしました。](https://wordpress.org/support/topic/programatically-call-total-sales-by-item/#post-8769984) –

答えて

0

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.

私は機能コピー:私のカスタムショートコードファイルにライン92からpublic function awts_get_total_sales_per_product($product_id ='')を。

私は、私自身のクエリを作っ:

$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; 

私は置く人々に感謝したいと思います:

$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ループをしましたWoo-Total-Salesプラグインへの作業は、私は実際にサイトでそれを使い続けるつもりです。私は、私が必要なものを得るためによく作られたプラグインをハックする必要はなかったと思っていましたが、それは3日後であり、私の開発を進める必要があります。

+1

ループ機能を使用しない場合は、 'setup_postdata($ post)'を使用しないでください。あなたがそれを使うなら 'wp_reset_postdata()'が必要です。 –

+0

それで私はそれを削除しても、上記の機能と同じ機能を使用することができますか? –

+1

コードを削除するだけで、コードに影響はありませんが、グローバル$ post変数が書き換えられます。 –

関連する問題