woocommerce/plugins/woocommerce-blocks/docs/third-party-developers/extensibility/data-store/cart.md

12 KiB

wc/store/cart

Table of Contents

Selectors

getCartData

Returns the Cart data from the state.

Returns

object - The current cart data. This will be an object with the following keys:

  • coupons - array containing the coupon items in the cart.
  • shippingRates - array containing the cart shipping rates (see getShippingRates selector).
  • shippingAddress - object containing the shipping address (see getCustomerData selector).
  • billingAddress - object containing the billing address.
  • items - array containing the cart items.
  • itemsCount - number containing total number of items in the cart.
  • itemsWeight - number containing the total weight of items in the cart.
  • crossSells - array containing the cross sells.
  • needsPayment - boolean indicating if the cart needs payment.
  • needsShipping- boolean indicating if the cart needs shipping.
  • hasCalculatedShipping- boolean indicating if the cart has calculated shipping.
  • fees- array containing the cart fees.
  • totals- object containing the cart totals (see getCartTotals selector).
  • errors- array containing the cart errors (see getCartErrors selector).
  • paymentRequirements- object containing the payment requirements for the cart.
  • extensions- object containing the extensions data.

Example

const store = select( 'wc/store/cart' );
const cartData = store.getCartData();

getCustomerData

Returns the shipping and billing address from the state.

Returns

object- The current shipping and billing address. This will be an object with the following keys:

  • shippingAddress- Object containing the shipping address. This will be an object with the following keys:

    • first_name- string containing the first name.
    • last_name- string containing the last name.
    • company- string containing the company.
    • address_1- string containing the address line 1.
    • address_2- string containing the address line 2.
    • city- string containing the city.
    • state- string containing the state.
    • postcode- string containing the postcode.
    • country- string containing the country.
  • billingAddress- Object containing the billing address (same keys as shipping address).

Example

const store = select( 'wc/store/cart' );
const customerData = store.getCustomerData();

getShippingRates

Returns the shipping rates from the state.

Returns

array- array containing the shipping rates.

Example

const store = select( 'wc/store/cart' );
const shippingRates = store.getShippingRates();

getNeedsShipping

Queries whether the cart needs shipping.

Returns

boolean- True if the cart needs shipping.

Example

const store = select( 'wc/store/cart' );
const needsShipping = store.getNeedsShipping();

getHasCalculatedShipping

Queries whether the cart shipping has been calculated.

Returns

boolean- True if the shipping has been calculated.

Example

const store = select( 'wc/store/cart' );
const hasCalculatedShipping = store.getHasCalculatedShipping();

getCartTotals

Returns the cart totals from state.

Returns

object- The current cart totals. This will be an object with the following keys:

  • total_items- string containing the sum total of items in the cart without discount, tax or shipping.
  • total_items_tax- string containing the total tax on all items before discount.
  • total_fees- string containing the total transaction fees.
  • total_fees_tax- string containing the tax on the total transaction fees.
  • total_discount- string containing the total discount applied to the cart.
  • total_discount_tax- string containing the tax applied to the total discount amount.
  • total_shipping- string containing the total shipping cost.
  • total_shipping_tax- string containing the tax applied to the total shipping cost.
  • total_tax- string containing the total tax applied to the cart.
  • total_price- string containing the total price of the cart including discount, tax or shipping.
  • tax_lines- array of object containing the tax lines: name, price, and rate.
  • currency_code- string containing the currency code for the cart.
  • currency_symbol- string containing the currency symbol for the cart.
  • currency_minor_unit- integer containing the currency minor unit for the cart.
  • currency_decimal_separator- string containing the currency decimal separator for the cart.
  • currency_thousand_separator- string containing the currency thousand separator for the cart.
  • currency_prefix- string containing the currency prefix for the cart.
  • currency_suffix- string containing the currency suffix for the cart.

Example

const store = select( 'wc/store/cart' );
const cartTotals = store.getCartTotals();

getCartMeta

Returns the cart meta from state.

Returns

object- The current cart meta. This will be an object with the following keys:

  • updatingCustomerData- boolean indicating if the customer data is being updated.
  • updatingSelectedRate- boolean indicating if the selected rate is being updated.
  • isCartDataStale- boolean indicating if the cart data is stale.
  • applyingCoupon- string containing the coupon code being applied.
  • removingCoupon- string containing the coupon code being removed.

Example

const store = select( 'wc/store/cart' );
const cartMeta = store.getCartMeta();

getCartErrors

Returns the cart errors from state if cart receives customer facing errors from the API.

Returns

array- array containing the cart errors.

Example

const store = select( 'wc/store/cart' );
const cartErrors = store.getCartErrors();

isApplyingCoupon

Queries whether a coupon is being applied.

Returns

boolean- True if a coupon is being applied.

Example

const store = select( 'wc/store/cart' );
const isApplyingCoupon = store.isApplyingCoupon();

isCartDataStale

Queries whether the cart data is stale.

Returns

boolean- True if the cart data is stale.

Example

const store = select( 'wc/store/cart' );
const isCartDataStale = store.isCartDataStale();

getCouponBeingApplied

Returns the coupon code being applied.

Returns

string- The coupon code being applied.

Example

const store = select( 'wc/store/cart' );
const couponBeingApplied = store.getCouponBeingApplied();

isRemovingCoupon

Queries whether a coupon is being removed.

Returns

boolean- True if a coupon is being removed.

Example

const store = select( 'wc/store/cart' );
const isRemovingCoupon = store.isRemovingCoupon();

getCouponBeingRemoved

Returns the coupon code being removed.

Returns

string- The coupon code being removed.

Example

const store = select( 'wc/store/cart' );
const couponBeingRemoved = store.getCouponBeingRemoved();

getCartItem

Returns a cart item from the state.

Parameters

  • cartItemKey string - The cart item key.

Returns

object- The cart item. This will be an object with the following keys:

  • key- string containing the cart item key.
  • id- number containing the cart item id.
  • catalog_visibility- string containing the catalog visibility.
  • quantity_limits- object containing the quantity limits.
  • name- string containing the cart item name.
  • summary- string containing the cart item summary.
  • short_description- string containing the cart item short description.
  • description- string containing the cart item description.
  • sku- string containing the cart item sku.
  • low_stock_remaining- null or number containing the low stock remaining.
  • backorders_allowed- boolean indicating if backorders are allowed.
  • show_backorder_badge- boolean indicating if the backorder badge should be shown.
  • sold_individually- boolean indicating if the item is sold individually.
  • permalink- string containing the cart item permalink.
  • images- array containing the cart item images.
  • variation- array containing the cart item variation.
  • prices- object containing the cart item prices. The keys for the object will be as follows:
    • currency_code- string containing the currency code.
    • currency_symbol- string containing the currency symbol.
    • currency_minor_unit- number containing the currency minor unit.
    • currency_decimal_separator- string containing the currency decimal separator.
    • currency_thousand_separator- string containing the currency thousand separator.
    • currency_prefix- string containing the currency prefix.
    • currency_suffix- string containing the currency suffix.
    • price- string containing the cart item price.
    • regular_price- string containing the cart item regular price.
    • sale_price- string containing the cart item sale price.
    • price_range- string containing the cart item price range.
  • totals- object containing the cart item totals. They keys for the object will be as follows:
    • currency_code- string containing the currency code.
    • currency_symbol- string containing the currency symbol.
    • currency_minor_unit- number containing the currency minor unit.
    • currency_decimal_separator- string containing the currency decimal separator.
    • currency_thousand_separator- string containing the currency thousand separator.
    • currency_prefix- string containing the currency prefix.
    • currency_suffix- string containing the currency suffix.
    • line_subtotal- string containing the cart item line subtotal.
    • line_subtotal_tax- string containing the cart item line subtotal tax.
    • line_total- string containing the cart item line total.
    • line_total_tax- string containing the cart item line total tax.

Example

const store = select( 'wc/store/cart' );
const cartItem = store.getCartItem( cartItemKey );

isItemPendingQuantity

Queries whether a cart item is pending quantity.

Parameters

  • cartItemKey string - The cart item key.

Returns

boolean- True if the cart item is pending quantity.

Example

const store = select( 'wc/store/cart' );
const isItemPendingQuantity = store.isItemPendingQuantity( cartItemKey );

isItemPendingDelete

Queries whether a cart item is pending delete.

Parameters

  • cartItemKey string - The cart item key.

Returns

boolean- True if the cart item is pending delete.

Example

const store = select( 'wc/store/cart' );
const isItemPendingDelete = store.isItemPendingDelete( cartItemKey );

isCustomerDataUpdating

Queries whether the customer data is being updated.

Returns

boolean- True if the customer data is being updated.

Example

const store = select( 'wc/store/cart' );
const isCustomerDataUpdating = store.isCustomerDataUpdating();

isShippingRateBeingSelected

Queries whether a shipping rate is being selected.

Returns

boolean- True if a shipping rate is being selected.

Example

const store = select( 'wc/store/cart' );
const isShippingRateBeingSelected = store.isShippingRateBeingSelected();

We're hiring! Come work with us!

🐞 Found a mistake, or have a suggestion? Leave feedback about this document here.