Esta entrada contiene una recapitulación de funciones para acceder y obtener toda la información del carrito de WooCommerce.

Acceder de forma rápida a cualquier dato del carrito de WooCommerce puede ahorrar tiempo en rebuscar en el código de tu tema o plugin para acceder a ese dato que necesitas.

Por ejemplo: obtener el total del carrito, los artículos del carrito, los cupones aplicados, el contenido total del carrito, el peso total, etc.

Este listado se orienta a los desarrolladores de plugins para WooCommerce, o bien que estén personalizando alguna función específica, dado que les será de utilidad.

Si tienes acceso a la variable $cart

Las acciones y los filtros pueden usar parámetros adicionales, si permiten utilizar el objeto $cart todo se simplifica.

Tan solo tener en cuenta que si el objeto $cart está accesible, el objeto WC()->cart se trataría del mismo elemento, con la diferencia de que este último se le puede llamar de forma global en cualquier interfaz de WooCommerce.

En resumen:

$cart = WC()->cart;

Si no tienes acceso a $cart

Si no se tiene acceso directo al objeto $cart, puedes invocarlo a través de WC()->cart de forma global en cualquier página de tu WooCommerce.

La página del carrito utiliza este método, por ejemplo, para cargar el objeto del carrito, y tú también puedes hacerlo en cualquier lugar que necesites.

// Condicionales del carrito $cart (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()
 
// Obtiene los totales del carrito
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();
  
// Información de cada elemento del carrito
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) 
 
// Obtiene la dirección envío y facturación
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();
 
// Otra información
WC()->cart->get_cross_sells();
WC()->cart->get_cart_item_tax_classes_for_shipping();
WC()->cart->get_cart_hash();
WC()->cart->get_customer();

Fuente: La entrada original la tienes en inglés en esta web

¡Valora este artículo y ayúdame a mejorar la calidad del blog, si no te ha servido, déjame un comentario para revisarlo!
(Votos: 0 Promedio: 0)