Terminal.skills
Skills/woocommerce
>

woocommerce

Build e-commerce stores with WooCommerce for WordPress. Use when a user asks to add a shop to WordPress, manage products and orders, customize checkout, integrate payment gateways, or build a WordPress-based online store.

#woocommerce#wordpress#ecommerce#shop#payments
terminal-skillsv1.0.0
Works with:claude-codeopenai-codexgemini-clicursor
Source

Usage

$
✓ Installed woocommerce v1.0.0

Getting Started

  1. Install the skill using the command above
  2. Open your AI coding agent (Claude Code, Codex, Gemini CLI, or Cursor)
  3. Reference the skill in your prompt
  4. The AI will use the skill's capabilities automatically

Example Prompts

  • "Generate a professional invoice for the consulting work done in January"
  • "Draft an NDA for our upcoming partnership with Acme Corp"

Documentation

Overview

WooCommerce is the most popular e-commerce platform — powers ~40% of all online stores. It's a free WordPress plugin with extensions for payments, shipping, subscriptions, and multi-currency. Fully customizable with PHP hooks and REST API.

Instructions

Step 1: REST API Integration

typescript
// lib/woo.ts — WooCommerce REST API client
import WooCommerceRestApi from '@woocommerce/woocommerce-rest-api'

const woo = new WooCommerceRestApi({
  url: 'https://store.example.com',
  consumerKey: process.env.WOO_KEY!,
  consumerSecret: process.env.WOO_SECRET!,
  version: 'wc/v3',
})

// List products
const { data: products } = await woo.get('products', { per_page: 20, status: 'publish' })

// Create product
await woo.post('products', {
  name: 'Premium T-Shirt',
  type: 'simple',
  regular_price: '29.99',
  description: 'High-quality cotton t-shirt',
  categories: [{ id: 15 }],
  images: [{ src: 'https://example.com/tshirt.jpg' }],
})

// Get orders
const { data: orders } = await woo.get('orders', { status: 'processing' })

// Update order status
await woo.put(`orders/${orderId}`, { status: 'completed' })

Step 2: Custom Hooks (PHP)

php
// functions.php — WooCommerce customization hooks

// Add custom field to checkout
add_action('woocommerce_after_order_notes', function($checkout) {
    woocommerce_form_field('delivery_notes', [
        'type' => 'textarea',
        'label' => 'Delivery Notes',
        'placeholder' => 'Special instructions for delivery',
    ], $checkout->get_value('delivery_notes'));
});

// Custom discount logic
add_action('woocommerce_cart_calculate_fees', function($cart) {
    if ($cart->get_subtotal() > 100) {
        $cart->add_fee('Bulk discount', -10);    // $10 off orders over $100
    }
});

Step 3: Webhooks

typescript
// api/woo/webhook.ts — Handle WooCommerce events
export async function POST(req: Request) {
  const event = req.headers.get('x-wc-webhook-topic')
  const data = await req.json()

  switch (event) {
    case 'order.created':
      await notifySlack(`New order #${data.id}: $${data.total} from ${data.billing.email}`)
      break
    case 'order.completed':
      await sendThankYouEmail(data.billing.email, data)
      break
  }
  return new Response('OK')
}

Guidelines

  • WooCommerce is free; costs come from hosting and premium extensions.
  • Use REST API for headless commerce — build custom frontends with Next.js/React.
  • Performance: WooCommerce on shared hosting struggles past ~500 products. Use dedicated hosting or consider Medusa for headless.
  • Extensions marketplace has 800+ plugins for payments, shipping, subscriptions, etc.

Information

Version
1.0.0
Author
terminal-skills
Category
Business
License
Apache-2.0