WooCommerce: Nhận Thông tin giỏ hàng (total, items, etc) từ $ cart object

Làm thế nào để lấy thông tin giỏ hàng từ Cart Object? Là một freelancer phát triển WooCommerce, hàng ngày tôi lặp đi lặp lại nhiều thao tác viết mã mà tôi cứ quên hết lần này đến lần khác!

Điều này có nghĩa là tôi phải tìm kiếm lại các tệp plugin WooCommerce và lãng phí rất nhiều thời gian quý báu.

Chúng ta đã biết cách lấy thông tin $ product$ order từ các đối tượng tương ứng của chúng, vì vậy lần này chúng ta sẽ xem trang Giỏ hàng và trả lời: “How to get ____ if I have the $cart variable/object available? “.

Ví dụ: “How can I get the cart total”? Hoặc “How can I get the cart items“? Hoặc có thể là the cart fees, the applied coupons, the cart contents total, the total weight, v.v.

Hy vọng rằng bài viết này cũng sẽ giúp bạn tiết kiệm thời gian! Thưởng thức!

WooCommerce: Nhận Thông tin giỏ hàng (total, items, etc) từ $ cart object

1. Nếu bạn có quyền truy cập vào biến $ cart – Nhận Thông tin giỏ hàng từ Cart Object

Hooks (do_action và apply_filters) sử dụng các đối số bổ sung được chuyển cho hàm. Nếu họ cho phép bạn sử dụng đối tượng “$ cart” mà bạn đang kinh doanh.

Nhưng vì điều này khá hiếm, chúng tôi sẽ chuyển sang bước 2 ngay lập tức. Chỉ cần lưu ý rằng nếu bạn có đối tượng “$ cart” theo ý của mình, đối tượng này giống hệt như đối tượng “WC () -> cart” mà bạn có thể gọi toàn cầu trên bất kỳ phần giao diện người dùng nào của trang web WooCommerce của mình.

[code]

$cart = WC()->cart;

[/code]

2. Nếu bạn không có quyền truy cập vào $ cart – Nhận Thông tin giỏ hàng từ Cart Object

Nếu bạn không có quyền truy cập trực tiếp vào đối tượng $ cart, bạn có thể gọi nó trên toàn cầu trên bất kỳ trang nào trên trang web WooCommerce của bạn. Đó là vẻ đẹp của WC () -> cart; trang Giỏ hàng sử dụng phương pháp này chẳng hạn để tải đối tượng giỏ hàng, và bạn cũng có thể ở bất kỳ đâu bạn muốn.

[code]

// $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’];
$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
$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();

[/code]

Thêm đoạn mã này vào đâu?

Bạn có thể đặt các đoạn mã PHP ở cuối tệp functions.php chủ đề con của mình (trước “?>” Nếu bạn có). Mặt khác, CSS có trong tệp style.css chủ đề con của bạn.

Đoạn mã này (vẫn) hoạt động chứ?

Vui lòng cho tôi biết trong phần bình luận nếu mọi thứ hoạt động như mong đợi. Tôi rất sẵn lòng sửa đổi đoạn mã nếu bạn có góp ý phù hợp (vui lòng cung cấp ảnh chụp màn hình).

Dịch vụ thiết kế website chuyên nghiệp tại Web MTP

Liên hệ ngay với chúng tôi nếu bạn đang gặp khó khăn trong việc thiết kế web nhé!

Website: https://webmtp.com/

Hotline: 0931 912 379

WooCommerce: Nhận Thông tin Đơn hàng (total, items, etc) Từ $order Object

Mời bạn xem nhiều bài hấp dẫn khác

Phương pháp SEO tăng thứ hạng của website trên Google

Tìm hiểu phương pháp chọn từ khóa chuẩn SEO

Plugin giúp bảo mật website WordPress

Tăng trust website hiệu quả bằng 100 backlink chất lượng đến từ Google

Cách chăm sóc website hiệu quả

Cách tạo nút gọi trên website WordPress

Mời bạn đọc thêm

Phương pháp SEO tăng thứ hạng của website trên Google

Tìm hiểu phương pháp chọn từ khóa chuẩn SEO

Plugin giúp bảo mật website WordPress

Tăng trust website hiệu quả bằng 100 backlink chất lượng đến từ Google

Cách chăm sóc website hiệu quả

Cách tạo nút gọi trên website WordPress