Objekt $order – čo všetko ponúka

Obtiažnosť:
Začiatočník
Pokročilý
Skúsený
Expert

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

0 0 votes
Hodnotenie článku
Autor
Navigácia
Odoberať
Upozorniť na
guest
0 Komentáre
Inline Feedbacks
View all comments