What WooCommerce is
WooCommerce is a free plugin that turns a WordPress site into an online shop. It adds products, a cart, checkout, payment and shipping. There is no separate application: the shop lives inside WordPress and uses its admin panel, users and themes.
The course targets WooCommerce 10 and WordPress 6.8 or newer, PHP 8.1+. It assumes you have seen the WordPress course: you know what a plugin, a theme and a hook are.
What appears after installation
| Where | What is added |
|---|---|
| Admin, the Products menu | The catalog: products, categories, attributes |
| Admin, the WooCommerce menu | Orders, customers, settings, reports |
| Admin, the Marketing menu | Coupons |
| Site | The Shop, Cart, Checkout and My account pages |
What the shop consists of for a developer
The plugin lives in the wp-content/plugins/woocommerce folder. Inside there are three things you will work with:
| Part | Example | Purpose |
|---|---|---|
| Classes | WC_Product, WC_Order, WC_Cart | Product, order and cart objects |
| Functions | wc_get_product(), wc_price() | Short access to those objects |
| Hooks | woocommerce_before_shop_loop | Points where your code plugs in |
A hook is a named place in the code to which you can attach your own function. WooCommerce is built almost entirely on hooks, so the shop is changed without touching the plugin's own files.
What a customization looks like
All your code in this course goes into a separate plugin, wp-content/plugins/acme-shop/. Here is what the first customization will look like — a line above the catalog:
// wp-content/plugins/acme-shop/includes/storefront.php
add_action('woocommerce_before_shop_loop', function () {
echo '<p class="acme-note">Free shipping from 50 €</p>';
});The function is attached to the woocommerce_before_shop_loop hook. When WooCommerce renders the Shop page, it reaches this point and prints the paragraph above the product list. The acme-shop plugin itself is created in the fourth lesson.
The running example
One shop runs through the whole course: it sells mugs and other tableware. You will give a product a lead time, add engraving in the cart, write your own payment and shipping methods and exchange orders with an external system.
Learning order
- Installation, shop pages and data storage.
- Your own plugin and hooks.
- Products: reading, changing, querying.
- The storefront: page hooks, templates, the theme.
- The cart, checkout, orders and customers.
- Payment, shipping, the REST API and launch.
Common mistake
WooCommerce files are edited right in the wp-content/plugins/woocommerce folder. Updates come out roughly once a month and replace that folder completely — the edits disappear. No plugin file needs changing: there are hooks for logic and template copies in the theme for appearance.