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.
- Getting to Know Woo: Exploring Server-Side Extensibility with Hooks
- Getting to Know Woo: Extending Payment Gateway Options in WooCommerce
- Tutorial: Placing an order using the Store API
- Getting to Know Woo: Modifying existing Cart and Checkout Block Fields
- Getting to Know Woo: Customizing Cart and Checkout Fields
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!
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.
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.
This guide will have you building your first extension with best practices and helpful tips.
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.
If you’ve ever wanted to contribute to the WooCommerce platform as a developer please read our guidelines for contribution first.
Visit the WooCommerce home repository on GitHub to learn the first steps to environment set up and platform contribution expectations.
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.
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.
The WooCommerce Core API code reference contains information about packages and classes that make up WooCommerce’s core functionality.
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.
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.
Use these resources to get a WooCommerce development environment up and running.
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.
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.
This is a collection of reusable scripts tailored for WordPress development.
Use these resources to help take some of the heavy lifting off of fetching and transforming data –– as well as creating UI elements.
This package includes a library of React components that can be used to create pages in the WooCommerce admin area.
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.
A set of functions to convert data into CSV values, and enable a browser download of the CSV data.
A collection of utilities to display and work with currency values.
Utilities for managing the WooCommerce Admin data store.
A collection of utilities to display and work with date values.
A collection of navigation-related functions for handling query parameter objects, serializing query parameters, updating query parameters, and triggering path changes.
A collection of utilities to properly localize numerical values in WooCommerce.
Use these high-level resources to guide you through common scenarios when developing with WooCommerce.
Want to create an extension for WooCommerce? This guide will walk you through everything you need to do.
Searching for guidance around testing the things you build with WooCommerce? Take a look at these pages.
Building and Customizing Stores
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.
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
These guides provide important guidelines, including technical requirements, user experience, and support best practices for developing products you want to sell on WooCommerce.com.
We’ve been there and solved that. These resources are a great starting point for resolving common challenges.
This is an archive of code samples that help you solve common problems when developing 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.
These are real WooCommerce stores, submitted by their makers, with an overview of each site that lists the extensions it uses.
This interactive tool lets you preview different WooCommerce themes live. Demos include a breakdown of the extensions that are currently active in them.
Use these links to connect with other developers and discover external resources within the WooCommerce ecosystem.
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.
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.
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.
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.
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.
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.
Visit the WooCommerce subreddit to ask questions and share tips with other developers.
Develop with WooCommerce, the most customizable eCommerce platform.