WordPress: Lấy thông tin đơn hàng từ đối tượng $order

WordPress: Lấy thông tin đơn hàng từ đối tượng $order

Là một freelancer phát triển Woocommerce, Dai Pho rất thường gặp các yêu cầu code liên quan đến biến/đối tượng $order. Có thể là ngày đặt hàng, ID khách hàng, thông tin thanh toán, phương thức thanh toán, trạng thái đơn hàng…

Đôi khi, bạn có thể có sẵn $order_id. Trong trường hợp đó, bạn có thể “lấy” đối tượng order bằng hàm wc_get_order của Woocommerce. Bạn cũng có thể lấy thông tin $order nếu bạn đang lập trình cho mẫu email. Điều này hữu ích để bạn hiển thị thêm thông tin cho đơn hàng.

Nếu bạn có thể truy cập vào biến $order

Khi lập trình plugin wordpress, bạn sẽ dùng các hook (gồm cả do_actionapply_filters) sử dụng các đối số bổ sung được truyền vào hàm. Dưới đây là cách lấy Daipho tất cả thông tin đặt hàng:

<?php
//Lấy Order ID và Key
$order->get_id();
$order->get_order_key();

// Get Order Totals
$order->get_formatted_order_total();
$order->get_cart_tax();
$order->get_currency();
$order->get_discount_tax();
$order->get_discount_to_display();
$order->get_discount_total();
$order->get_total_fees();
$order->get_formatted_line_subtotal();
$order->get_shipping_tax();
$order->get_shipping_total();
$order->get_subtotal();
$order->get_subtotal_to_display();
$order->get_tax_location();
$order->get_tax_totals();
$order->get_taxes();
$order->get_total();
$order->get_total_discount();
$order->get_total_tax();
$order->get_total_refunded();
$order->get_total_tax_refunded();
$order->get_total_shipping_refunded();
$order->get_item_count_refunded();
$order->get_total_qty_refunded();
$order->get_qty_refunded_for_item();
$order->get_total_refunded_for_item();
$order->get_tax_refunded_for_item();
$order->get_total_tax_refunded_by_rate_id();
$order->get_remaining_refund_amount();

// Lấy và duyệt qua các mục $order
foreach ( $order->get_items() as $item_id => $item ) {
$product_id = $item->get_product_id();
$variation_id = $item->get_variation_id();
$product = $item->get_product();
//Daipho lấy thông tin $product chỗ này
$product_name = $item->get_name();
$quantity = $item->get_quantity();
$subtotal = $item->get_subtotal();
$total = $item->get_total();
$tax = $item->get_subtotal_tax();
$tax_class = $item->get_tax_class();
$tax_status = $item->get_tax_status();
$allmeta = $item->get_meta_data();
$somemeta = $item->get_meta( '_whatever', true );
$item_type = $item->get_type(); //Ví dụ "line_item", "fee"
}

// Other Secondary Items Stuff
$order->get_items_key();
$order->get_items_tax_classes();
$order->get_item_count();
$order->get_item_total();
$order->get_downloadable_items();
$order->get_coupon_codes();

// Get Order Lines
$order->get_line_subtotal();
$order->get_line_tax();
$order->get_line_total();

// Get Order Shipping
$order->get_shipping_method();
$order->get_shipping_methods();
$order->get_shipping_to_display();

// Get Order Dates
$order->get_date_created();
$order->get_date_modified();
$order->get_date_completed();
$order->get_date_paid();

// Get Order User, Billing & Shipping Addresses
$order->get_customer_id();
$order->get_user_id();
$order->get_user();
$order->get_customer_ip_address();
$order->get_customer_user_agent();
$order->get_created_via();
$order->get_customer_note();
$order->get_address_prop();
$order->get_billing_first_name();
$order->get_billing_last_name();
$order->get_billing_company();
$order->get_billing_address_1();
$order->get_billing_address_2();
$order->get_billing_city();
$order->get_billing_state();
$order->get_billing_postcode();
$order->get_billing_country();
$order->get_billing_email();
$order->get_billing_phone();
$order->get_shipping_first_name();
$order->get_shipping_last_name();
$order->get_shipping_company();
$order->get_shipping_address_1();
$order->get_shipping_address_2();
$order->get_shipping_city();
$order->get_shipping_state();
$order->get_shipping_postcode();
$order->get_shipping_country();
$order->get_address();
$order->get_shipping_address_map_url();
$order->get_formatted_billing_full_name();
$order->get_formatted_shipping_full_name();
$order->get_formatted_billing_address();
$order->get_formatted_shipping_address();

// Get Order Payment Details
$order->get_payment_method();
$order->get_payment_method_title();
$order->get_transaction_id();

// Get Order URLs
$order->get_checkout_payment_url();
$order->get_checkout_order_received_url();
$order->get_cancel_order_url();
$order->get_cancel_order_url_raw();
$order->get_cancel_endpoint();
$order->get_view_order_url();
$order->get_edit_order_url();

// Get Order Status
$order->get_status();

// Get Thank You Page URL
$order->get_checkout_order_received_url();

Nếu Bạn có quyền truy cập vào biến $order_id

Nếu bạn có quyền truy cập vào ID đơn hàng (thông thường do_action hoặc apply_filters sẽ cung cấp cho bạn điều này), trước tiên bạn phải lấy đối tượng order. Sau đó thực hiện các thao tác tương tự như trên và nhận trạng thái đơn hàng, thanh toán đơn hàng, vận chuyển đơn hàng, v.v.

// Lấy đối tượng $order từ ID đơn hàng

$order = wc_get_order( $order_id );

if ( $order ) {
$order->get_formatted_order_total( );
// các dòng lệnh khác
}

Làm việc trong biến email của Woocommerce

Nếu bạn đang làm việc với email Woocommerce, thông thường bạn sẽ có sẵn đối tượng $email làm tham số. Để lấy được đối tượng, bạn cần thực hiện thêm một bước. Sau đó thực hiện các thao tác tương tự như trên.

// :ấy đối tượng $order từ $email
$order = $email->object;

// Xử lý đơn hàng
if ( $order ) {
$order->get_id();
$order->get_formatted_order_total( );
// các dòng lệnh khác
}

Các tính năng mặc định của trang web

Các trang web được Đại Phố thiết kế luôn mặc định các tính năng sau:

  • Mã nguồn được tối ưu với các công cụ tìm kiếm.
  • Trang web hỗ trợ thiết bị di động, tương thích với mọi thiết bị: điện thoại, máy tính bảng, máy tính và laptop. Sử dụng công nghệ HTML5, CSS3 Mobile Responsive.
  • Dễ dàng thay đổi theo phong cách riêng của bạn.
  • Dễ dàng thêm bớt số lượng các trang, và chỉnh sửa nội hiển thị trên website tùy ý
  • Phần quản trị rõ ràng, trực quan, dễ sử dụng với cả những người không chuyên về IT.

Quản lí nội dung: có thể dễ dàng thêm, xóa, sửa các thông tin trên website

  • Thông tin sản phẩm và dịch vụ của công ty
  • Thông tin dự án, đối tác Giới thiệu – Liên hệ
  • Thông tin giới thiệu, thông tin liên hệ
  • Tin tức
  • Hình ảnh trên website, sửa các tag alt, descriotion, caption
  • Hình ảnh và caption trên Slideshow
Xin vui lòng liên hệ với chúng tôi nếu cần thêm thông tin
Web hosting giá rẻ, Best WebHosting Offers, Hosting Chất lượng cao, Joomla Hosting, Reseller Hosting, Wordpress Hosting, chèn từ khóa vào trang web, bán hàng online,