Easy Digital Downloads
  • Package
  • Function
  • Tree

Packages

  • EDD
    • Admin
      • Actions
      • Add-ons
      • Dashboard
      • Discounts
      • Downloads
      • Export
      • Notices
      • Pages
      • Payments
      • Reports
      • Settings
      • System
      • Upgrades
      • Upload
      • Welcome
    • Cart
    • Checkout
    • Classes
      • API
      • Fees
      • HTML
      • Roles
      • Session
    • Emails
    • Functions
      • AJAX
      • Compatibility
      • Errors
      • Formatting
      • Install
      • Login
      • Taxes
      • Templates
    • Gateways
    • Logging
    • Payments
    • Shortcodes
    • Widgets

Functions

  • edd_add_collection_to_cart
  • edd_add_rewrite_endpoints
  • edd_add_to_cart
  • edd_cart_has_fees
  • edd_cart_item_price
  • edd_cart_subtotal
  • edd_cart_tax
  • edd_cart_total
  • edd_checkout_cart
  • edd_empty_cart
  • edd_empty_cart_message
  • edd_empty_checkout_cart
  • edd_get_cart_amount
  • edd_get_cart_content_details
  • edd_get_cart_contents
  • edd_get_cart_fee_total
  • edd_get_cart_fees
  • edd_get_cart_item_price
  • edd_get_cart_item_quantity
  • edd_get_cart_item_template
  • edd_get_cart_quantity
  • edd_get_cart_subtotal
  • edd_get_cart_tax
  • edd_get_cart_total
  • edd_get_checkout_uri
  • edd_get_failed_transaction_uri
  • edd_get_item_position_in_cart
  • edd_get_price_name
  • edd_get_purchase_session
  • edd_get_purchase_summary
  • edd_is_checkout
  • edd_item_in_cart
  • edd_process_add_to_cart
  • edd_process_cart_endpoints
  • edd_process_collection_purchase
  • edd_process_remove_from_cart
  • edd_remove_from_cart
  • edd_remove_item_url
  • edd_set_purchase_session
  • edd_shopping_cart
  • edd_show_added_to_cart_messages
  1 <?php
  2 /**
  3  * Cart Template
  4  *
  5  * @package     EDD
  6  * @subpackage  Cart
  7  * @copyright   Copyright (c) 2013, Pippin Williamson
  8  * @license     http://opensource.org/licenses/gpl-2.0.php GNU Public License
  9  * @since       1.0
 10  */
 11 
 12 // Exit if accessed directly
 13 if ( !defined( 'ABSPATH' ) ) exit;
 14 
 15 /**
 16  * Builds the Cart by providing hooks and calling all the hooks for the Cart
 17  *
 18  * @since 1.0
 19  * @return void
 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  * Renders the Shopping Cart
 31  *
 32  * @since 1.0
 33  * @return string Fully formatted cart
 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  * Get Cart Item Template
 67  *
 68  * @since 1.0
 69  * @param int $cart_key Cart key
 70  * @param array $item Cart item
 71  * @param bool $ajax AJAX?
 72  * @return string Cart item
 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  * Returns the Empty Cart Message
105  *
106  * @since 1.0
107  * @return string Cart is empty message
108  */
109 function edd_empty_cart_message() {
110     return apply_filters( 'edd_empty_cart_message', __('Your cart is empty.', 'edd') );
111 }
112 
113 /**
114  * Echoes the Empty Cart Message
115  *
116  * @since 1.0
117  * @return void
118  */
119 function edd_empty_checkout_cart() {
120     echo edd_empty_cart_message();
121 }
122 add_action( 'edd_empty_cart', 'edd_empty_checkout_cart' );
Easy Digital Downloads API documentation generated by ApiGen 2.8.0