WooCommerce Developer Resources

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.


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!

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.

WooCommerce Extension Developer Guide

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.

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.

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.

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.

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 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.


Productivity Tools

Use these resources to get a WooCommerce development environment up and running.

This is the command-line interface for WordPress. You can update plugins, configure multisite installations and much more, without using a web browser.

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 an ESLint plugin including configurations and custom rules for WooCommerce development.

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.


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

The official JavaScript library for working with the WooCommerce REST API.

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

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.


Utilities

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.


Guides

Use these high-level resources to guide you through common scenarios when developing with WooCommerce.

Building Extensions

A high-level overview of the modern WooCommerce environment and how new tools and features fit into the broader user experience.

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.

Building Themes

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 woo.com. 


Examples

We’ve been there and solved that. These resources are a great starting point for resolving common challenges. 

Snippets

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.

Example Sites

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.


Community Resources

Use these links to connect with other developers and discover external resources within the WooCommerce ecosystem.

GitHub Repositories

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.

Ecosystem 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.

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.

Was this page helpful to you?