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

Questions and Support

↑ Back to top

Do you still have questions and need assistance? 

This documentation is about the free, core WooCommerce plugin for which support is provided in our community forums on WordPress.org. Searching there you’ll often find that your question has been asked and answered before.

If you haven’t created a WordPress.org account to use the forums, here’s how.

  • If you’re looking to extend the core functionality shown here, we recommend reviewing available extensions in the Woo Marketplace.
  • Need ongoing advanced support, or a customization built for WooCommerce? Hire a WooExpert agency.
  • Are you a developer building your own WooCommerce integration or extension? Check our Developer Resources.

If you weren’t able to find the information you need, please use the feedback thumbs below to let us know! 🙏