Cara mendapatkan info keranjang dari objek cart Woocommerce

Photo by freepik

Anda sebagai pengelola website atau sebagai pengembang Website terutama berbasis WooCommerce pasti akan merasa bosan jika setiap hari mengulang banyak operasi pengkodean yang memakan banyak waktu, salah satunya adalah Cara mendapatkan info keranjang dari objek cart WooCommerce. Tenang saja, Mangcoding akan berbagi cara untuk menyelesaikan masalah ini.

Kita telah mengetahui bagaimana mendapatkan informasi $product dan $order dari masing-masing object, jadi kali ini kita akan melihat halaman Cart dan mendapatkan solusi dari “ Bagaimana cara mendapatkan ____ jika saya memiliki variabel/object $cart tersedia? “.

Selanjutnya, “Bagaimana kita bisa mendapatkan total keranjang ”? Atau “Bagaimana kita bisa mendapatkan item keranjang ”? Atau mungkin biaya keranjang , kupon yang berlaku, total isi keranjang, berat total dan seterusnya.

Semoga artikel yang mangcoding bagikan ini akan membantu Anda menghemat waktu! Silahkan Anda bisa meninggalkan jejak dengan memberikan komentar dibawah atau memberikan pertanyaan di media sosial Mangcoding.

Link Mangcoding1. Jika Anda memiliki akses ke variabel $cart

Hooks (do_action dan apply_filters) menggunakan argumen tambahan yang diteruskan ke fungsi. Jika mereka mengizinkan Anda untuk mengakses dan menggunakan objek “$cart” Anda sangat beruntung.

Tapi karena ini cukup langka, langsung saja kita lanjut ke langkah 2. Perlu diingat bahwa jika Anda memiliki objek “$cart”, ini sama persis dengan objek “WC()->cart”, yang dapat Anda panggil secara global di bagian frontend mana pun di situs web WooCommerce Anda.

Silahkan perhatikan kode pendeknya dibawah :

$cart = WC()->cart;

 

Link Mangcoding2. Jika Anda tidak memiliki akses ke $cart

Jika Anda tidak memiliki akses langsung ke objek $cart, Anda dapat memanggilnya secara global di halaman mana pun di situs web WooCommerce Anda. Itulah keindahan WC()->cart ; halaman Keranjang menggunakan metode ini misalnya untuk memuat objek keranjang, dan Anda juga bisa, sesuai keinginan dan kebutuhan Anda.

// $cart conditionals (if)
WC()->cart->is_empty()
WC()->cart->needs_payment()
WC()->cart->show_shipping()
WC()->cart->needs_shipping()
WC()->cart->needs_shipping_address()
WC()->cart->display_prices_including_tax()
 
// Get $cart totals
WC()->cart->get_cart_contents_count();
WC()->cart->get_cart_subtotal();
WC()->cart->subtotal_ex_tax;
WC()->cart->subtotal;
WC()->cart->get_displayed_subtotal();
WC()->cart->get_taxes_total();
WC()->cart->get_shipping_total();
WC()->cart->get_coupons();
WC()->cart->get_coupon_discount_amount( 'coupon_code' );
WC()->cart->get_fees();
WC()->cart->get_discount_total();
WC()->cart->get_total();
WC()->cart->total;
WC()->cart->get_tax_totals();
WC()->cart->get_cart_contents_tax();
WC()->cart->get_fee_tax();
WC()->cart->get_discount_tax();
WC()->cart->get_shipping_total();
WC()->cart->get_shipping_taxes();
  
// Loop over $cart items
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
   $product = $cart_item['data'];
   $product_id = $cart_item['product_id'];
   $variation_id = $cart_item['variation_id'];
   $quantity = $cart_item['quantity'];
   $price = WC()->cart->get_product_price( $product );
   $subtotal = WC()->cart->get_product_subtotal( $product, $cart_item['quantity'] );
   $link = $product->get_permalink( $cart_item );
   // Anything related to $product, check $product tutorial
   $attributes = $product->get_attributes();
   $whatever_attribute = $product->get_attribute( 'whatever' );
   $whatever_attribute_tax = $product->get_attribute( 'pa_whatever' );
   $any_attribute = $cart_item['variation']['attribute_whatever'];
   $meta = wc_get_formatted_cart_item_data( $cart_item );
}
 
// Get $cart customer billing / shipping
WC()->cart->get_customer()->get_billing_first_name();
WC()->cart->get_customer()->get_billing_last_name();
WC()->cart->get_customer()->get_billing_company();
WC()->cart->get_customer()->get_billing_email();
WC()->cart->get_customer()->get_billing_phone();
WC()->cart->get_customer()->get_billing_country();
WC()->cart->get_customer()->get_billing_state();
WC()->cart->get_customer()->get_billing_postcode();
WC()->cart->get_customer()->get_billing_city();
WC()->cart->get_customer()->get_billing_address();
WC()->cart->get_customer()->get_billing_address_2();
WC()->cart->get_customer()->get_shipping_first_name();
WC()->cart->get_customer()->get_shipping_last_name();
WC()->cart->get_customer()->get_shipping_company();
WC()->cart->get_customer()->get_shipping_country();
WC()->cart->get_customer()->get_shipping_state();
WC()->cart->get_customer()->get_shipping_postcode();
WC()->cart->get_customer()->get_shipping_city();
WC()->cart->get_customer()->get_shipping_address();
WC()->cart->get_customer()->get_shipping_address_2();
 
// Other stuff
WC()->cart->get_cross_sells();
WC()->cart->get_cart_item_tax_classes_for_shipping();
WC()->cart->get_cart_hash();
WC()->cart->get_customer();

 

Silahkan Anda coba praktekkan apa yang Mangcoding jelaskan pada Artikel diatas, mudah-mudahan artikel ini dapat bermanfaat dan bisa menyelesaikan masalah Anda terutama mendapatkan info keranjang dari objek cart WooCommerce.

Referensi : Businessbloomer