PluginProbe
StoreEngine — Complete eCommerce Solution with Memberships, Licensing, Affiliates & More / 2.2.0
StoreEngine — Complete eCommerce Solution with Memberships, Licensing, Affiliates & More v2.2.0
2.3.0 2.2.0 2.1.1 2.1.0 2.0.0 1.10.0 1.9.1 1.9.0 1.2.1 1.2.2 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 All 59 releases
storeengine / includes / shortcode / order-summary.php

order-summary.php in StoreEngine — Complete eCommerce Solution with Memberships, Licensing, Affiliates & More 2.2.0, at includes/shortcode/order-summary.php

74 lines 2.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace StoreEngine\Shortcode;
4
5 if ( ! defined( 'ABSPATH' ) ) {
6 exit;
7 }
8
9 use StoreEngine\Classes\CartItem;
10 use StoreEngine\Classes\Order\OrderItemProduct;
11 use StoreEngine\Utils\Formatting;
12 use StoreEngine\Utils\Helper;
13 use StoreEngine\Utils\Template;
14
15 class OrderSummary {
16
17 public function __construct() {
18 add_shortcode( 'storeengine_order_summary', array( $this, 'render_checkout_order_summary' ) );
19 }
20
21 public function render_checkout_order_summary( $atts ) {
22 $attributes = shortcode_atts( [
23 'dummy' => false,
24 ], $atts );
25 $dummy = Formatting::string_to_bool( $attributes['dummy'] );
26
27 if ( $dummy ) {
28 $cart_item = new CartItem();
29 $cart_item->set_data( [
30 'name' => 'T-shirt',
31 'price_name' => 'Premium cotton',
32 'price_type' => 'onetime',
33 'quantity' => 2,
34 'price' => 12.00,
35 'compare_price' => 15.00,
36 'line_subtotal' => 24.00,
37 'price_html' => Formatting::price( 24.00 ),
38 ] );
39 $cart_items = [ $cart_item ];
40 add_filter( 'storeengine/get_cart_item_data', [ __CLASS__, 'add_dummy_item_data' ] );
41 } elseif ( Formatting::string_to_bool( get_query_var( 'order_pay' ) ) ) {
42 return '';
43 } else {
44 $cart_items = Helper::cart()->get_cart_items();
45 }
46
47 ob_start();
48 Template::get_template( 'shortcode/order-summary.php', [
49 'cart_items' => $cart_items,
50 ] );
51 $output = ob_get_clean();
52
53 if ( $dummy ) {
54 remove_filter( 'storeengine/get_cart_item_data', [ __CLASS__, 'add_dummy_item_data' ] );
55 }
56
57 return $output;
58 }
59
60 public static function add_dummy_item_data(): array {
61 return [
62 [
63 'label' => _x( 'Color', 'A dummy label for editor preview - Cart item data.', 'storeengine' ),
64 'value' => _x( 'Black', 'A dummy value for editor preview - Cart item data.', 'storeengine' ),
65 ],
66 [
67 'label' => _x( 'Size', 'A dummy label for editor preview - Cart item data.', 'storeengine' ),
68 'value' => _x( 'XL', 'A dummy value for editor preview - Cart item data.', 'storeengine' ),
69 ],
70 ];
71 }
72
73 }
74