1. Documentation /
  2. Installed Taxonomies and Post Types

Installed Taxonomies and Post Types

Here we detail the taxonomies and post types specific to WooCommerce, which are fundamental for organizing and managing different content types within a WordPress site. Understanding these elements is crucial for developers and site administrators to effectively extend, customize, and manage their WooCommerce installations.

Taxonomies and Post Types

↑ Back to top

Two major building blocks in the WordPress environment are taxonomies and post types.

  • Taxonomy. A grouping of post types, such as categories and tags.
  • Post types. With post types, WordPress creates a distinction in different content types. For example, by default WordPress has different post types for “posts”, “pages”, “media”, etc.

WooCommerce Taxonomies and Post Types

↑ Back to top

WooCommerce creates a few different posts types and a couple of taxonomies to group those post types.

WooCommerce installs the following post types and taxonomies — the first levels are post types, and the second levels are taxonomies for their top-level post type.

  • Product: product
    • Product categories: product_cat
    • Product tags: product_tag
    • Product variation: product_variation (these are hidden from the UI)
    • Product visibility: product_visibility
  • Shop order(Legacy) : shop_order
    • Order statuses: shop_order_status
    • Order refunds: shop_order_refund
  • Shop coupon: shop_coupon
  • Shop webhook: shop_webhook

Order taxonomy differences when using High Performance Order Storage (HPOS)

↑ Back to top

Starting from WooCommerce 8.2, released in October 2023, High-Performance Order Storage (HPOS) is officially flagged as stable and is enabled by default for new installations.

Shops launched using HPOS do not use the shop_order post type. As orders are not stored in the _posts table.

If your store initially installed a WooCommerce version lower than 8.2. You can read about backwards compatibility, and migrating to the more performant HPOS, in our HPOS documentation.

HPOS introduces dedicated tables for data such as orders, order addresses, and dedicated indexes. This results in fewer read/write operations and fewer busy tables. This feature enables ecommerce stores of all shapes and sizes to scale to their maximum potential

instead of being stored in the _posts and _postmeta tables, HPOS stores order data in four dedicated order tables:

  • _wc_orders
  • _wc_order_addresses
  • _wc_order_operational_data
  • _wc_orders_meta

Developers: For detailed information about the schema used in HPOS. Refer to the Developer blog post detailing the HPOS database schema