Advertisement
nshelper

WPGlobaCart - Checkout Field Editor for WooCommerce (Pro)

May 13th, 2024 (edited)
835
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.17 KB | None | 0 0
  1. public static function get_order_summary($order){
  2.         $cart = array();
  3.         $cart['products']   = array();
  4.         $cart['categories'] = array();
  5.         $cart['tags']       = array();
  6.         $cart['variations'] = array();
  7.         $cart['shipping_class'] = array();
  8.         $cart['product_type'] = array();
  9.         $shipping_weight = 0;
  10.  
  11.         if($order){
  12.             $items = $order->get_items();
  13.             $order_total = $order->get_total();
  14.             $order_subtotal = $order->get_subtotal();
  15.             foreach($items as $item) {
  16.                 do_action( 'woocommerce/cart_loop/start', $item );
  17.                 $product_id = $item->get_product_id();
  18.                 if(!$product_id){
  19.                     continue;
  20.                 }
  21.  
  22.                 $cart['products'][] = self::get_original_product_id($product_id);
  23.                 $cart['categories'] = array_merge( $cart['categories'], self::get_product_categories($product_id) );
  24.                 $cart['tags']       = array_merge( $cart['tags'], self::get_product_tags($product_id) );
  25.                 $cart['shipping_class'] = array_merge($cart['shipping_class'] ,self::get_product_shipping_class($product_id));
  26.                 $cart['product_type'][] = WC_Product_Factory::get_product_type($product_id);
  27.  
  28.                 if($item->get_variation_id()){
  29.                     $cart['variations'][] = $item->get_variation_id();
  30.                     $cart['products'][] = self::get_original_product_id($item->get_variation_id());
  31.                 }
  32.                 $product_qty = $item->get_quantity();
  33.                 $_product = wc_get_product( $product_id );
  34.                 $weight = $_product->get_weight();
  35.                 if(!empty($weight) && is_numeric($weight)){
  36.                     $shipping_weight += $weight * $product_qty;
  37.                 }
  38.                 do_action( 'woocommerce/cart_loop/end', $item );
  39.             }
  40.  
  41.             $cart['products']   = array_values($cart['products']);
  42.             $cart['categories'] = apply_filters('thwcfe_cart_product_categories', array_values($cart['categories']));
  43.             $cart['tags']       = apply_filters('thwcfe_cart_product_tags', array_values($cart['tags']));
  44.             $cart['variations']    = array_values($cart['variations']);
  45.             $cart['shipping_class'] = array_values($cart['shipping_class']);
  46.             $cart['product_type']  = array_values($cart['product_type']);
  47.             $cart['cart_total']    = $order_total;
  48.             $cart['cart_subtotal'] = $order_subtotal;
  49.             $cart['shipping_weight']   = $shipping_weight;
  50.         }
  51.         return $cart;
  52.     }
Advertisement
Comments
  • nshelper
    3 days
    # PHP 0.09 KB | 0 0
    1. \wp-content\plugins\woocommerce-checkout-field-editor-pro\includes\utils/class-thwcfe-utils.php
Add Comment
Please, Sign In to add comment
Advertisement