Pri vytváraní a úprave stránok s WooCommerce, narazíte na situácie, kedy potrebujete získať informácie z objednávky. Niekde je k dispozícii priamo objekt $order
, napríklad na stránke „Thank you„, alebo ho viete získať z $order_id
, poprípade v template e-mailu. Takto viete získať informácie o produktoch v objednávke, cene, fakturačnej adrese, dodacej adrese…
Ako získať objekt $order
?
V prípade, že nemáte k dispozícii priamo objekt $order
, ale viete jeho ID (v niektorých filtroch, alebo hookoch je k dispozícii, práve toto ID), objekt $order
, získate nasledovne:
# Získanie objektu $order
z $order_id
// získanie objektu $order z $order_id $order = wc_get_order( $order_id );
Pre získanie objektu objednávky, použijeme funkciu wc_get_order()
# Získanie objektu $order
v emaile
Získanie objektu $order
vo WooCommerce emailoch:
// získanie objektu order z premennej $order_id $order = $email->object;
Pri práci s WooCommerce emailami, máte k dispozícii objekt $email
a ten obsahuje náš požadovaný objekt $order
# Objekt $order
a jeho metódy
// Získanie ID objednávky a Key $order->get_id(); $order->get_order_key(); // Informácie o objednávke $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_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(); // Cyklus cez jednotlivé položky objednávky foreach ( $order->get_items() as $item_id => $item ) { $product_id = $item->get_product_id(); $variation_id = $item->get_variation_id(); $product = $item->get_product(); $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( '_nejake_meta', true ); $item_type = $item->get_type(); } // Ďalšie informácie o položkách $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(); // Ceny objednávky $order->get_line_subtotal(); $order->get_line_tax(); $order->get_line_total(); // Doprava objednávky $order->get_shipping_method(); $order->get_shipping_methods(); $order->get_shipping_to_display(); // Dátumy objednávky $order->get_date_created(); $order->get_date_modified(); $order->get_date_completed(); $order->get_date_paid(); // Získanie užívateľa, fakturačná a dodacia adresa $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(); // fakturačná adresa $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(); // dodacia adresa $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(); // Detail platby za objednávku $order->get_payment_method(); $order->get_payment_method_title(); $order->get_transaction_id(); // URL odkazy, pre objednávku $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(); // Stav objednávky $order->get_status(); // URL stránky "Thank you" - po zaslaní objednávky $order->get_checkout_order_received_url();
Kredit ide pre: https://www.businessbloomer.com