PluginProbe ʕ •ᴥ•ʔ
WooCommerce Square / 5.4.2
WooCommerce Square v5.4.2
5.4.2 5.4.1 5.4.0 trunk 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.6.0 2.7.0 2.8.0 2.9.0 2.9.1 3.0.0 3.0.1 3.0.2 3.0.3 3.1.0 3.2.0 3.3.0 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.7.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 4.0.0 4.1.0 4.2.0 4.2.1 4.2.2 4.2.3 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.4.2 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.6.2 4.6.3 4.6.4 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.9.0 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 4.9.8 4.9.9 5.0.0 5.0.1 5.1.0 5.1.1 5.1.2 5.2.0 5.3.0 5.3.1 5.3.2 5.3.3
woocommerce-square / includes / Admin / Analytics / Revenue.php
woocommerce-square / includes / Admin / Analytics Last commit date
Revenue.php 2 years ago
Revenue.php
49 lines
1 <?php
2
3 namespace WooCommerce\Square\Admin\Analytics;
4
5 defined( 'ABSPATH' ) || exit;
6
7 use WooCommerce\Square\Handlers\Product;
8
9 /**
10 * Adds necessary functions to modify analytics stats data.
11 */
12 class Revenue {
13 /**
14 * Constructor function.
15 */
16 public function __construct() {
17 add_filter( 'woocommerce_analytics_update_order_stats_data', array( $this, 'filter_net_sales_stats' ) );
18 }
19
20 /**
21 * Removes the purchase of a gift card from the net revenue.
22 *
23 * @since 4.2.0
24 *
25 * @param array $order_data Order data.
26 * @return array
27 */
28 public function filter_net_sales_stats( $order_data ) {
29 $order = wc_get_order( $order_data['order_id'] );
30 $line_items = $order->get_items( 'line_item' );
31 $amount_to_deduct = 0;
32
33 /** @var \WC_Order_Item_Product $line_item */
34 foreach ( $line_items as $line_item ) {
35 $product = $line_item->get_product();
36
37 if ( ! Product::is_gift_card( $product ) ) {
38 continue;
39 }
40
41 $amount_to_deduct += $line_item->get_total();
42 }
43
44 $order_data['net_total'] = $order_data['net_total'] - $amount_to_deduct;
45
46 return $order_data;
47 }
48 }
49