What is WooCommerce?
WooCommerce is a customizable, open-source ecommerce platform built on WordPress. It powers millions of online stores worldwide and provides a robust framework for developers to create extensions, themes, and custom integrations.For Extension Developers
Build powerful extensions using WooCommerce’s extensive hook system and APIs.
For Theme Developers
Create beautiful, customized storefronts with classic or block themes.
For API Integrations
Integrate with products, orders, and customers via the REST API.
For Contributors
Contribute to the WooCommerce core codebase and help improve the platform.
What You Can Build
WooCommerce’s flexible architecture enables developers to:Extensions
- Payment Gateways: Integrate custom payment methods using the Payment Gateway API
- Shipping Methods: Add custom shipping options and integrations
- Product Add-ons: Extend product functionality with custom fields and options
- Marketing Tools: Build integrations for email marketing, analytics, and more
- Inventory Management: Create custom inventory and warehouse management solutions
Themes
- Custom Storefronts: Design unique shopping experiences
- Classic Themes: Build with traditional PHP templates and hooks
- Block Themes: Create modern FSE (Full Site Editing) themes
- Mobile-Optimized Designs: Responsive themes for all devices
Integrations
- Headless Commerce: Build decoupled frontends using the Store API
- Third-Party Services: Connect to CRMs, ERPs, and other business tools
- Custom Analytics: Create specialized reporting and data visualization
- Multi-Channel Sales: Integrate with marketplaces and sales channels
Developer Ecosystem
WooCommerce has a thriving developer ecosystem with:
- 9,000+ extensions available on the WooCommerce Marketplace
- Active community on Slack with thousands of developers
- Regular releases with new features and improvements
- Comprehensive APIs for deep integrations
Architecture Overview
WooCommerce is built as a WordPress plugin with a modern monorepo structure:Key Technologies
- Backend: PHP 7.4+, WordPress hooks system, PSR-4 autoloading
- Frontend: React, TypeScript, Gutenberg blocks
- APIs: REST API, Store API, PHP class APIs
- Build Tools: PNPM, Webpack, Composer
Getting Started
1
Set up your development environment
Install Node.js, PNPM, PHP, and Composer. Clone the WooCommerce monorepo.
2
Build the project
Build all packages and plugins in the monorepo.
3
Choose your path
Decide what you want to build:
Community Resources
WooCommerce Slack
Join the community for help, discussions, and announcements.
Developer Blog
Stay updated with development news and tutorials.
GitHub Repository
Browse source code, report issues, and submit pull requests.
Code Reference
Complete reference for WooCommerce classes and functions.
Documentation Structure
This documentation is organized into several sections:Documentation Tab
- Getting Started: Setup, quickstart, and project overview
- Core Concepts: Architecture, monorepo, modern vs legacy code
- Extension Development: Build extensions using hooks and APIs
- Theme Development: Create custom storefronts
- Block Development: Extend WooCommerce with Gutenberg blocks
- Features: Payment gateways, shipping, analytics, HPOS, and more
API Reference Tab
- REST API: Complete endpoint reference for products, orders, customers
- Store API: Unauthenticated endpoints for headless commerce
- PHP APIs: Payment Gateway, Shipping Method, and Payment Token APIs
Contributing Tab
- Contribution Guide: How to contribute code and documentation
- Coding Standards: PHP and JavaScript style requirements
- Testing: PHPUnit, Jest, and E2E testing guidelines
- Git Workflow: Branching, commits, and pull request process
Support
This documentation is for developers. If you’re a merchant or store owner, visit woocommerce.com for merchant-facing documentation.
For Developers
- Community Slack: Ask questions in developer channels
- GitHub Discussions: Community Q&A and discussions
- Stack Overflow: Tag questions with
woocommerce
For Merchants
Next Steps
Ready to start building? Choose your path:Quickstart Guide
Get up and running in minutes
Development Environment
Set up your local environment
Project Structure
Understand the monorepo