All projects
2025LiveFreelance Fullstack — theme, WooCommerce, AI bot, ticketing

Research Storefront

EU-only WooCommerce storefront — custom theme, AI support bot, ticketing & affiliate system

A German E-commerce storefront built on WordPress + WooCommerce with a fully custom PHP theme. Covers a hardened EU-only checkout with DHL Packstation support and mandatory legal disclaimers, a preorder + restock workflow, an in-house affiliate dashboard with preset-cart links, a newsletter tool, and a Claude-powered support bot wired into a custom WordPress ticketing system.

27
EU countries
1500+
Lines in functions.php
2
Languages (DE/EN)
1
AI support bot
01

Overview

A freelance takeover of a German online shop, rebuilt as a fully custom WordPress/WooCommerce theme — no page builder, no external CSS framework, just PHP, vanilla JS and CSS variables.

The storefront is strictly EU-only (27 member states), bilingual (DE/EN) via a homegrown translation layer, and legally hardened with 18+, compliance and Packstation-specific confirmations captured as audit-trail order meta.

Around the shop sits a freelance-grade ops stack: a preorder + restock system, an in-house affiliate dashboard that auto-syncs with the WooCommerce Affiliates plugin, a newsletter & broadcast tool, and a Claude-powered support bot wired into a custom WordPress ticketing system with a public chat-style ticket-status page.

02

Architecture

WordPress + custom PHP theme → WooCommerce (HPOS) → custom ticket CPT + AI support bot → Paygatedotto + Proton Mail

Custom WordPress theme
PHP · Vanilla JS · jQuery · CSS variables
L1
front-page.phpheader.php / navDE/EN translation layerDark + gold designMobile navTrust & payment bars
WooCommerce layer
HPOS-compatible · custom checkout templates
L2
EU-only (27 states)€-after-number price formatCustom checkout layout3-step checkout indicatorDHL Packstation / Postfiliale18+ / compliance disclaimersPreorder + restock waitlistOrder-pay session fix
Ops & growth modules
Affiliate · newsletter · admin meta
L3
Affiliate dashboard (My Account)Auto-sync with WC Affiliates couponsPreset-cart referral linksNewsletter + CSV export + broadcastRestock waitlist per productProduct & tracking meta boxes
Support: AI bot + ticketing
Anthropic Claude · custom ticket CPT · Proton Mail
L4
FAQ knowledge baseClaude triage on /support/Custom ticket post typeStatus & priority taxonomiesAgent assignmentPublic ticket-status chat pageTwo-way email notifications
03

Tech stack

Core
WordPressWooCommerce (HPOS)PHPMySQL
Theme
Custom PHP themeVanilla JSjQueryCSS variablesWebP icons
Payments & shipping
PaygatedottoPayPalApple/Google PaySEPACryptoDHL Packstation
AI & Support
Anthropic Claude (sonnet-4)Custom ticket CPTFAQ knowledge base
Infra
HostingerProton Mail
05

MVP features

Custom theme (no page builder)

Entirely hand-rolled PHP theme with a dark + gold visual system, hero stats, configurable shipping banner, trust bar with SVG icons, and a WebP payment-methods bar. No WordPress default templates used.

Bilingual DE/EN

Own translation layer with cookie-based language switching (?lang=de / ?lang=en) and flag icons in the header.

Custom checkout

A custom checkout template replaces WooCommerce's default templates with a 3-step indicator, slim billing fields (no phone), and country-aware state/county fields. WooCommerce's default form is suppressed.

DHL Packstation / Postfiliale

Delivery-method dropdown dynamically swaps in the relevant fields, validates client- and server-side, marks required fields with asterisks, and persists the chosen Packstation address into order meta.

Legal disclaimers

18+, compliance and delivery-delay (preorder-only) checkboxes plus three Packstation-specific confirmations. Validated server-side in woocommerce_checkout_process and stored with timestamps as audit-trail order meta.

Preorder system

Per-product opt-in via an admin meta box keeps OOS items buyable, sets a custom 'Vorbestellen' button label, propagates to variations, and only shows the delivery-delay checkbox when a preorder item is in the cart.

Admin meta boxes

Rich product meta (specs, lot/reference numbers, datasheet URL, form, size, storage temp) with per-field and per-card visibility toggles, plus a shipment-tracking box that surfaces carrier + tracking number in emails and on My Account.

Affiliate dashboard

In-house My Account view that reads WooCommerce Affiliates coupons straight from the database, shows earnings, referrals and commission, and lets affiliates configure a personalised preset-cart link with chosen products, variations and quantities (AJAX save).

Preset-cart referral links

Custom Urls that prefill the cart with the affiliate's preconfigured products + variations, auto-apply the discount and redirect to the cart. And an additional link resets the cart without the discount.

Newsletter & restock

Subscriber list stored in WordPress with CSV export and a broadcast tool, plus a per-product restock waitlist that emails customers automatically when stock is replenished.

AI support bot

The /support/ form sends the customer's question to Claude, which checks a curated FAQ knowledge base for common cases ('product looks odd', 'tracking status open', 'not shipped yet'). Known questions get an instant detailed answer; unknown ones are escalated cleanly.

Ticketing system

Custom ticket post type with status (Open/In Progress/Resolved/Closed) and priority taxonomies, agent assignment with email notifications, bot answer stored on the ticket, attached images in a dedicated meta box, and a staff reply box that emails the customer with optional images.

Public ticket-status page

/ticket-status/ is accessible via a personalised link (ticket ID + email) and renders the full ticket history as a chat. Customers reply with text + images straight from the page; replies appear instantly in WP-Admin and notify the admin by email.

Email system

All outbound mail routed through Proton Mail with Reply-To set to support. A custom password-reset handler bypasses WooCommerce; tracking info is embedded in both HTML and plain-text order emails; pending orders get a payment-link email.

06

Workflows

Checkout with Packstation

  1. 1

    Customer picks delivery type in the custom checkout: home delivery, DHL Packstation, or Postfiliale.

  2. 2

    JavaScript swaps in the relevant required fields (Postnummer, station number, etc.) and marks them with visible asterisks.

  3. 3

    On submit, server-side validation in woocommerce_checkout_process verifies all required fields and all legal confirmations (18+, compliance, Packstation acknowledgements).

  4. 4

    Confirmations and the resolved Packstation address are stored as order meta with timestamps for the audit trail before payment is initiated via Paygatedotto.

Affiliate preset-cart link

  1. 1

    Affiliate logs into My Account, picks products (including variable products with specific variations) and quantities, and saves the config via AJAX.

  2. 2

    System generates a personalised URL of the form ?ref=CODE&kp_cart=1 tied to their WooCommerce Affiliates coupon.

  3. 3

    When a visitor opens the link, the cart is cleared, prefilled with the configured products + variations, the coupon is auto-applied, and the visitor is redirected to the cart.

AI-assisted support

  1. 1

    Customer submits the /support/ form (name, email, message, optional images).

  2. 2

    Claude checks the message against the FAQ knowledge base and either answers directly with a detailed response or returns a clean hand-off message.

  3. 3

    Customer chooses 'That helped!' or 'Escalate to support'; either way a ticket is created with status, priority and the bot's answer attached.

  4. 4

    Assigned agent replies from the WP-Admin reply box (text + images); the customer is emailed and can continue the conversation on the public ticket-status chat page.

07

Security

  • EU-only sales scope enforced in WooCommerce — billing/shipping restricted to the 27 EU member states.
  • Mandatory 18+ and compliance confirmations on every order, stored as audit-trail order meta with timestamps.
  • Server-side validation of every checkout disclaimer and Packstation field (no trust in client-side checks alone).
  • Custom password-reset handler that bypasses WooCommerce's default flow to keep the auth surface area predictable.
  • EU-DSGVO posture: all customer, ticket and newsletter data lives inside WordPress — no external SaaS pipeline.
  • HPOS-compatible order handling so custom meta and the audit trail stay intact under WooCommerce's new order storage.
  • Support bot is scoped to a curated FAQ knowledge base; unknown questions are escalated rather than answered speculatively.