1 <?php
2 3 4 5 6 7 8 9 10
11
12
13 if ( !defined( 'ABSPATH' ) ) exit;
14
15 16 17 18 19 20
21 function edd_checkout_cart() {
22 do_action( 'edd_before_checkout_cart' );
23 echo '<!--dynamic-cached-content-->';
24 edd_get_template_part( 'checkout_cart' );
25 echo '<!--/dynamic-cached-content-->';
26 do_action( 'edd_after_checkout_cart' );
27 }
28
29 30 31 32 33 34
35 function edd_shopping_cart( $echo = false ) {
36 global $edd_options;
37
38 ob_start(); ?>
39 <?php do_action('edd_before_cart'); ?>
40 <ul class="edd-cart">
41 <!--dynamic-cached-content-->
42 <?php
43 $cart_items = edd_get_cart_contents();
44 if($cart_items) :
45 foreach( $cart_items as $key => $item ) :
46 echo edd_get_cart_item_template( $key, $item, false );
47 endforeach;
48 edd_get_template_part( 'widget', 'cart-checkout' );
49 else :
50 edd_get_template_part( 'widget', 'cart-empty' );
51 endif;
52 ?>
53 <!--/dynamic-cached-content-->
54 </ul>
55 <?php
56
57 do_action( 'edd_after_cart' );
58
59 if ( $echo )
60 echo ob_get_clean();
61 else
62 return ob_get_clean();
63 }
64
65 66 67 68 69 70 71 72 73
74 function edd_get_cart_item_template( $cart_key, $item, $ajax = false ) {
75 global $post;
76
77 $id = is_array( $item ) ? $item['id'] : $item;
78
79 $remove_url = edd_remove_item_url( $cart_key, $post, $ajax );
80 $title = get_the_title( $id );
81 $options = !empty( $item['options'] ) ? $item['options'] : array();
82 $price = edd_get_cart_item_price( $id, $options );
83
84 if ( ! empty( $options ) ) {
85 $title .= ( edd_has_variable_prices( $item['id'] ) ) ? ' <span class="edd-cart-item-separator">-</span> ' . edd_get_price_name( $id, $item['options'] ) : edd_get_price_name( $id, $item['options'] );
86 }
87
88 ob_start();
89
90 edd_get_template_part( 'widget', 'cart-item' );
91
92 $item = ob_get_clean();
93
94 $item = str_replace( '{item_title}', $title, $item );
95 $item = str_replace( '{item_amount}', edd_currency_filter( edd_format_amount( $price ) ), $item );
96 $item = str_replace( '{cart_item_id}', absint( $cart_key ), $item );
97 $item = str_replace( '{item_id}', absint( $id ), $item );
98 $item = str_replace( '{remove_url}', $remove_url, $item );
99
100 return apply_filters( 'edd_cart_item', $item, $id );
101 }
102
103 104 105 106 107 108
109 function edd_empty_cart_message() {
110 return apply_filters( 'edd_empty_cart_message', __('Your cart is empty.', 'edd') );
111 }
112
113 114 115 116 117 118
119 function edd_empty_checkout_cart() {
120 echo edd_empty_cart_message();
121 }
122 add_action( 'edd_empty_cart', 'edd_empty_checkout_cart' );