1. Documentation /
  2. Codex /
  3. Extending /
  4. Classes in WooCommerce

Classes in WooCommerce

List of Classes in WooCommerce ↑ Back to top

For a list of Classes in WooCommerce, please see the API DOCS.

Common Classes ↑ Back to top

WooCommerce ↑ Back to top

The main class is ‘woocommerce’ which is available globally via the $woocommerce variable. This handles the main functions of WooCommerce and init’s other classes, stores site-wide variables, and handles error/success messages.

The woocommerce class initializes the following classes when constructed:

  • WC_Query – stored in $woocommerce->query
  • WC_Customer – stored in $woocommerce->customer
  • WC_Shipping – stored in $woocommerce->shipping
  • WC_Payment_Gateways – stored in $woocommerce->payment_gateways
  • WC_Countries – stored in $woocommerce->countries

Other classes are auto-loaded on demand.

WC_Product ↑ Back to top

WooCommerce has several product classes responsible for loading and outputting product data. This can be loaded through PHP using:

$product = wc_get_product( $post->ID );

In the loop this is not always necessary since calling the_post() will automatically populate the global $product variable if the post is a product.

WC_Customer ↑ Back to top

The customer class allows you to get data about the current customer, for example:

global $woocommerce;
$customer_country = $woocommerce->customer->get_country();

View the API docs for a full list of methods contained in this class.

WC_Cart ↑ Back to top

The cart class loads and stores the users cart data in a session. For example, to get the cart subtotal you could use:

global $woocommerce;
$cart_subtotal = $woocommerce->cart->get_cart_subtotal();

View the API docs for a full list of methods contained in this class.


The most customizable eCommerce platform for building your online business.

  • 30 day money back guarantee
  • Support teams across the world
  • Safe & Secure online payment