How to use these resources
The resources below are divided into different categories based on what you might use them for when developing with WooCommerce. Some resources are tools and libraries that streamline the development process. Others are written guides, examples, and documentation. Use the menu below to jump to a specific section.
How to get help
For development help, start with the WooCommerce Community Forum, to see if someone else has already asked the same question. You can also pose your question in the #developers
channel of our Community Slack. If you’re not sure where to ask your question, you can always contact us, and our Happiness Engineers will be glad to point you in the right direction.
Recent News
- Developer Advisory: Return value of response in `extensionCartUpdate`
- WooCommerce 9.6: Pre-release updates
- Card Testing Attacks and the Store API
- WooCommerce 9.5: Convert guests to loyal customers through delayed account creation and cross-selling
- Modernizing the WooCommerce payments experience: Technical changes ahead
Get Started
There are a few different ways you might want to get started utilizing WooCommerce. Choose a path below to start developing based on your code comfort level!
No-Code Installation and Quick Start
If you’re brand new to WooCommerce, this is a no-code approach to building your first store. This is where you can learn the ins and outs of how WooCommerce works before you start developing.
Extension Development Quick Start
This no-configuration quick-start package will scaffold a local copy of an extension template for you. Just open up your terminal and follow the steps in GitHub. Next, continue on to the Extension Development Guide for an in depth approach to make your extension functional.
WooCommerce Extension Developer Guide
This guide will have you building your first extension with best practices and helpful tips.
Marketplace Contribution Guidelines
Are you looking to build an extension that can be purchased in the WooCommerce Marketplace? Before you start developing; read our guidelines first to make sure your extension is Marketplace ready.
Contributor Guidelines
If you’ve ever wanted to contribute to the WooCommerce platform as a developer please read our guidelines for contribution first.
Contribution Environment Set-Up
Visit the WooCommerce home repository on GitHub to learn the first steps to environment set up and platform contribution expectations.
API & Reference Docs
The resources below contain low-level documentation about features, libraries, extensions, and other pieces of WooCommerce architecture. Use them as a reference when building extensions or integrating with WooCommerce.
REST API
The WooCommerce REST API lets you create, read, update, and delete WooCommerce data using HTTP requests, so you can integrate external applications with WooCommerce and build extensions that make use of asynchronous UI frameworks such as React.
Core API
The WooCommerce Core API code reference contains information about packages and classes that make up WooCommerce’s core functionality.
Store API
The Store API provides public Rest API endpoints for the development of customer-facing cart, checkout, and product functionality. It follows many of the patterns used in the WordPress REST API.
WooCommerce Admin
This is a feature plugin for a modern JavaScript-driven admin experience within WooCommerce. It includes an extensible UI library of React components and other utilities for building modern user interfaces.
WooCommerce Blocks
WooCommerce Blocks give you the ability to integrate WooCommerce with Gutenberg. Use the documentation and resources here as a starting point for developing new block types for WooCommerce.
Core Action and Filter Hooks
This contains an index of hooks found across all template files, functions, shortcodes, widgets, data stores, and core classes. You can use these hooks to extend the core WooCommerce platform by introducing custom behavior or modifying data that WooCommerce passes around.
Productivity Tools
Use these resources to get a WooCommerce development environment up and running.
wp-cli
This is the command-line interface for WordPress. You can update plugins, configure multisite installations and much more, without using a web browser.
wp-env
This command-line tool lets you easily set up a local WordPress environment for building and testing plugins and themes. It’s simple to install and requires no configuration.
eslint-plugin
This is an ESLint plugin including configurations and custom rules for WooCommerce development.
e2e-environment
This is a reusable and extensible end-to-end testing environment for WooCommerce extensions. Additionally, it contains several files to serve as the base for a Docker container and Travis CI setup.
WordPress Scripts
This is a collection of reusable scripts tailored for WordPress development.
Libraries
Use these resources to help take some of the heavy lifting off of fetching and transforming data –– as well as creating UI elements.
API Clients
WooCommerce REST API — JavaScript
The official JavaScript library for working with the WooCommerce REST API.
api-fetch
This is a utility to make WordPress REST API requests. It’s a wrapper around window.fetch
that includes support for nonces, middleware, and custom fetch handlers.
Components
WooCommerce Components
This package includes a library of React components that can be used to create pages in the WooCommerce admin area.
WordPress Components
This packages includes a library of generic WordPress components that can be used for creating common UI elements shared between screens and features of the WordPress dashboard.
Utilities
CSV Export
A set of functions to convert data into CSV values, and enable a browser download of the CSV data.
Currency
A collection of utilities to display and work with currency values.
Data
Utilities for managing the WooCommerce Admin data store.
Date
A collection of utilities to display and work with date values.
Navigation
A collection of navigation-related functions for handling query parameter objects, serializing query parameters, updating query parameters, and triggering path changes.
Number
A collection of utilities to properly localize numerical values in WooCommerce.
Guides
Use these high-level resources to guide you through common scenarios when developing with WooCommerce.
Building Extensions
Modern JavaScript and WooCommerce 101
A high-level overview of the modern WooCommerce environment and how new tools and features fit into the broader user experience.
WooCommerce Extension Developer Guide
Want to create an extension for WooCommerce? This guide will walk you through everything you need to do.
Testing Extensions and Maintaining Quality Code
Searching for guidance around testing the things you build with WooCommerce? Take a look at these pages.
Building and Customizing Stores
Customizing WooCommerce Best Practices
Flexibility is one of the greatest benefits to using WooCommerce to sell online. Use this guide to learn some best practices to follow when making site tweaks.
Building Themes
WooCommerce Theme Developer Handbook
There are a few different ways you can build a theme that is specifically tailored to support WooCommerce (and not just WordPress). Use this guide as a starting point for theme development and integration.
Selling Extensions and Themes
WooCommerce Marketplace Guides
These guides provide important guidelines, including technical requirements, user experience, and support best practices for developing products you want to sell on woo.com.
Examples
We’ve been there and solved that. These resources are a great starting point for resolving common challenges.
Snippets
Snippets Archives
This is an archive of code samples that help you solve common problems when developing with WooCommerce.
Shortcodes Included with WooCommerce
While WooCommerce Blocks are now the easiest and most flexible way to display your products on posts and pages, WooCommerce still comes with several shortcodes to insert content.
Example Sites
WooCommerce Showcase
These are real WooCommerce stores, submitted by their makers, with an overview of each site that lists the extensions it uses.
WooCommerce Theme Demos
This interactive tool lets you preview different WooCommerce themes live. Demos include a breakdown of the extensions that are currently active in them.
Community Resources
Use these links to connect with other developers and discover external resources within the WooCommerce ecosystem.
GitHub Repositories
WooCommerce on GitHub
This is the official WooCommerce organization on GitHub. Here you’ll find the majority of development work that happens on open source projects that the WooCommerce team maintains.
Automattic on GitHub
This is the official Automattic organization on GitHub. It is where you’ll find the majority of development work that happens on open source projects that the Automattic team maintains.
WordPress on GitHub
This is the official WordPress organization on GitHub –– a go-to source for the development work that happens on open source projects that the WordPress community maintains.
Ecosystem Resources
WordPress Developer Resources
All the resources you need for developing with WordPress. If you’re not familiar with the WordPress development ecosystem, this is a great place to start.
WooCommerce Community Slack
Join our community on Slack. We hold regular sessions where we share information and field questions, but you can also connect with other developers to share challenges and ask questions.
WooCommerce Community Forum
Use this forum to ask questions about WooCommerce. Our WooCommerce Happiness Engineers frequent this forum to answer questions, but there is also a wealth of knowledge that has been captured in these threads over the years.
WooCommerce on Reddit
Visit the WooCommerce subreddit to ask questions and share tips with other developers.
Develop with WooCommerce, the most customizable eCommerce platform.