blog webempresa

Información del pedido $order en WooCommerce

por | Oct 12, 2023 | Tutoriales sobre WooCommerce

Información del pedido $order en WooCommerce

WooCommerce es una herramienta amplia y versátil que ofrece una gran variedad de opciones que pueden pasar desapercibidas para un usuario convencional. Entre estas opciones, se encuentran las numerosas variables que entran en juego cuando un cliente realiza un pedido.

Por ejemplo, es común plantearse preguntas en base a la información del pedido como “¿Cómo se puede calcular el total del pedido?” o “¿Cómo se accede a la lista de artículos incluidos en el pedido?” Además, se busca a menudo información sobre las fechas del pedido, el ID del cliente, los detalles de facturación, el método de pago utilizado y el estado actual del pedido, por ejemplo.

Todas estas consultas y mucha más información pueden ser obtenidas y manipuladas a través del acceso a la variable $order.

En el siguiente artículo, exploraremos en detalle qué es la variable $order y cómo se utiliza para acceder y gestionar la información del pedido en WooCommerce.

 ¿Qué es la variable $order en WooCommerce?


info-pedido-woo-01

En WooCommerce, la variable $order es un objeto que representa un pedido realizado por un cliente en una tienda en línea. Esta variable es esencial en el desarrollo y personalización de tiendas WooCommerce, ya que proporciona acceso a toda la información y datos relacionados con un pedido específico.

A continuación, mencionaremos varios aspectos en los que es empleada la variable $order.

Representación de un pedido: la variable $order es un objeto que encapsula todos los detalles de un pedido individual. Esto incluye información como el ID del pedido, la fecha de creación, los productos comprados, la información del cliente, la dirección de facturación y envío o el estado del pedido entre otros.

Acceso a datos del pedido: usando la variable $order, los desarrolladores pueden acceder a información específica sobre el pedido. Esto puede incluir datos como el total del pedido, el método de pago utilizado, los productos en el pedido y cualquier información personalizada que se haya asociado con el pedido.

Personalización y manipulación: la variable $order es fundamental para personalizar y manipular pedidos en WooCommerce. Los desarrolladores pueden emplearla para modificar el comportamiento de la tienda, generar facturas personalizadas, enviar correos electrónicos de confirmación de pedidos personalizados, aplicar descuentos especiales y realizar una variedad de otras acciones relacionadas con los pedidos.

Interacciones con plugins y temas: los plugins y temas de WooCommerce a menudo utilizan la variable $order para interactuar con los pedidos y ofrecer funcionalidades adicionales. Por ejemplo, un plugin de envío puede utilizar $order para calcular el costo de envío, mientras que un tema personalizado puede utilizarlo para diseñar la página de detalles del pedido.

 ¿Qué datos podemos obtener del pedido de WooCommerce con $order?


Con la variable/objeto $order en WooCommerce, es posible acceder a una amplia variedad de datos relacionados con un pedido. Algunos de los datos más comunes y útiles que es posible obtener serian los siguientes:

ID del pedido: es posible obtener el identificador único del pedido utilizando $order->get_id().

Fecha del pedido: la fecha en que se realizó el pedido se puede obtener con $order->get_date_created().

Cliente: obtener el ID del cliente que realizó el pedido, se usa $order->get_customer_id().

Método de pago: para conocer el método de pago utilizado en el pedido se usa $order->get_payment_method().

Estado del pedido: para obtener el estado actual del pedido, se puede utilizar $order->get_status().

Total del pedido: el total del pedido se puede recuperar con $order->get_total().

Productos en el pedido: para acceder a la lista de productos incluidos en el pedido, se usa $order->get_items() o $order->get_items_key(). Esto nos proporcionará información detallada sobre cada producto incluyendo su nombre, cantidad, precio, y más.

Información de facturación y envío: los detalles de facturación y envío, como la dirección de facturación y la dirección de envío, se pueden obtener con $order->get_billing_address() y $order->get_shipping_address() respectivamente.

Notas del pedido: si hay notas adjuntas al pedido, es posible recuperarlas utilizando $order->get_customer_note() o $order->get_customer_note_formatted() para obtenerlas formateadas.

Datos personalizados: si hemos agregado datos personalizados al pedido, se puede acceder a ellos utilizando $order->get_meta() y especificando la clave correspondiente.

Estos son solo algunos ejemplos de los datos que se pueden obtener de un pedido de WooCommerce utilizando la variable $order. La flexibilidad de WooCommerce permite acceder a una amplia gama de información para personalizar y gestionar los pedidos de acuerdo a las necesidades que tengamos.

 Sacar información del pedido $order en WooCommerce


Para obtener información del pedido a través de la variable $order en WooCommerce debemos acceder a ella por medio de varios métodos, vamos a listarlos a continuación.

 Acceso a la variable $order en WooCommerce


A través de los siguientes métodos, es posible obtener de manera exhaustiva toda la información relacionada con determinado pedido realizado en WooCommerce.

// Obtención del ID y la clave del pedido
$order->get_id();
$order->get_order_key();
 
// Obtención de los totales
$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();
  
// Obtención del detalle de pedido
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();
   $taxclass = $item->get_tax_class();
   $taxstat = $item->get_tax_status();
   $allmeta = $item->get_meta_data();
   $somemeta = $item->get_meta( '_whatever', true );
   $product_type = $item->get_type();
}
 
// Obtención de otra información relacionada al pedido
$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();
  
// Obtención de las líneas del pedido
$order->get_line_subtotal();
$order->get_line_tax();
$order->get_line_total();
  
// Obtención del método de envío
$order->get_shipping_method();
$order->get_shipping_methods();
$order->get_shipping_to_display();
  
// Obtención de las fechas de pedido
$order->get_date_created();
$order->get_date_modified();
$order->get_date_completed();
$order->get_date_paid();
  
// Obtención del usuario y los datos de sus direcciones
$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();
  
// Obtención de los detalles de los métodos de pago
$order->get_payment_method();
$order->get_payment_method_title();
$order->get_transaction_id();
  
// Obtención de las URLS del pedido
$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();
  
// Obtención del estado del pedido
$order->get_status();

A continuacion vamos a presentar algunos ejemplos practicos en los que podemos emplear los metodos de WooCommerce descritos.

Obtención de ID y clave de pedido:

$order_id = $order->get_id();
$order_key = $order->get_order_key();

Obtención de totales de una orden:

$order_total = $order->get_total();
$order_subtotal = $order->get_subtotal();
$order_total_tax = $order->get_total_tax();

Obtención de detalles de usuario y su dirección:

$billing_first_name = $order->get_billing_first_name();
$billing_last_name = $order->get_billing_last_name();
$billing_address = $order->get_billing_address_1();
$billing_city = $order->get_billing_city();

Obtención de detalles de pedido:

foreach ($order->get_items() as $item_id => $item) {
   $product_id = $item->get_product_id();
   $product_name = $item->get_name();
   $quantity = $item->get_quantity();
   // Podemos agregar otros detalles de productos
}

 Acceso al ID del pedido con la variable $order_id


Si tenemos en conocimiento la ID del pedido, es posible obtener todos los detalles del pedido mediante hooks y filtros de WordPress, por ejemplo el siguiente.

// Obtención del objeto $order desde el ID
$order = wc_get_order( $order_id );
  
if ( $order ) {
   $order->get_formatted_order_total( );
   // etc.
}

En este código primero se obtiene un objeto de pedido, supuestamente ya existente, utilizando el ID del pedido proporcionado. Luego, verifica si el objeto del pedido existe. Si el objeto del pedido existe, el código continúa ejecutando ciertas operaciones en él, como obtener el total formateado del pedido y posiblemente otras operaciones relacionadas, que podrían incluir el uso de otros métodos disponibles para el objeto de pedido.

 Acceso a la variable $email


WooCommerce posee un apartado dedicado a los correos electrónicos, en su estructura también es posible tomar detalles del pedido por medio de la variable $email.

// Obtención del objeto $order a través del $email
$order = $email->object;
  
if ( $order ) {
   $order->get_id();
   $order->get_formatted_order_total( );
   // resto de la informacion de la orden.
}

El codigo presentado busca extraer un objeto de pedido a partir de la variable $email y, si se encuentra un objeto de pedido válido en esa variable, se realizan diversas operaciones en él, como obtener el ID del pedido y el total del pedido formateado.

 Conclusión


Acceder a la variable $order en WooCommerce es muy importante. Esta variable es como una caja que contiene toda la información de un pedido en una tienda en línea. Podemos representarlo como un cofre con todos los detalles sobre lo que un cliente compró, cuándo lo compró y cómo lo pagó. Al abrir esa caja, podemos usar esa información para hacer una variedad de cosa sutiles.

Una de las cosas importantes que es posible hacer (con el conocimiento adecuado) es personalizar la experiencia de compra para los clientes. Por ejemplo, si alguien compra un producto, se le puede ofrecer un descuento en su próximo pedido. Esto hace que los clientes se sientan especiales y quieran volver a la tienda.

En resumidas cuentas, la variable $order es como una llave mágica que brinda acceso a mucha información útil en la tienda en línea. Permitiendonos personalizar la experiencia de los clientes, automatizar tareas y trabajar con herramientas especiales para mejorar la tienda. Por eso, tener acceso a esta variable es muy importante en WooCommerce.

También te puede interesar:

¿Te ha resultado útil este artículo?

Black Friday 2024