Como freelancer de desarrollo de WooCommerce, ¡todos los días repito muchas operaciones de codificación que sigo olvidando una y otra vez!
Esto significa que tengo que buscar a través de los archivos de complemento de WooCommerce una y otra vez y perder mucho tiempo precioso.
Ya hemos visto cómo conseguir $ producto y $ pedido Información de sus respectivos objetos, por lo que esta vez echaremos un vistazo a la página del carrito y responderemos a: «¿Cómo obtener ____ si tengo la variable/objeto $ CART disponible?«.
Por ejemplo, «¿Cómo puedo obtener el Total del carrito» O «¿Cómo puedo conseguir el artículos de carro» O tal vez el tarifas de carritolos cupones aplicados, el contenido del carrito total, el peso total etcétera…
¡Esperemos que este artículo también lo ayude a ahorrar tiempo! Sus comentarios a través de Twitter y la sección de comentarios del blog es muy apreciado. ¡Disfrutar!
1. Si tiene acceso a la variable $ CART
Los ganchos (do_action y Apply_filters) usan argumentos adicionales que se transmiten a la función. Si le permiten usar el objeto «$ CART» en el que está en el negocio.
Pero debido a que esto es bastante raro, pasaremos al paso 2 de inmediato. Solo tenga en cuenta que si tiene el objeto «$ CART» a su disposición, esto es exactamente lo mismo que el objeto «WC ()-> CART», que puede llamar a nivel mundial en cualquier sección frontend de su sitio web de WooCommerce.
En una palabra:
$cart = WC()->cart;
2. Si no tiene acceso a $ CART
Si no tiene acceso directo al objeto $ CART, puede invocarlo a nivel mundial en cualquier página de su sitio web de WooCommerce. Esa es la belleza de Wc ()-> carro; La página del carrito utiliza este método, por ejemplo, para cargar el objeto CART, y también puede, en cualquier lugar que desee.
// $cart conditionals (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() // Get $cart totals 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(); // formatted string $123.99 WC()->cart->get_total( 'edit' ); // unformatted float 123.99 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(); // Loop over $cart items foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { $product = $cart_item['data']; $product_id = $cart_item['product_id']; $variation_id = $cart_item['variation_id']; $quantity = $cart_item['quantity']; $price = WC()->cart->get_product_price( $product ); $subtotal = WC()->cart->get_product_subtotal( $product, $cart_item['quantity'] ); $link = $product->get_permalink( $cart_item ); // Anything related to $product, check $product tutorial $attributes = $product->get_attributes(); $whatever_attribute = $product->get_attribute( 'whatever' ); $whatever_attribute_tax = $product->get_attribute( 'pa_whatever' ); $any_attribute = $cart_item['variation']['attribute_whatever']; $meta = wc_get_formatted_cart_item_data( $cart_item ); } // Get $cart customer billing / shipping 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(); // Other stuff WC()->cart->get_cross_sells(); WC()->cart->get_cart_item_tax_classes_for_shipping(); WC()->cart->get_cart_hash(); WC()->cart->get_customer();