Implement Phase 9 & reusable components; skip Phase 8 (emails)

Phase 8 (Emails) skipped: WooCommerce email rendering uses
wc_get_template_html() which bypasses the Twig pipeline entirely.
Email customization deferred to plugins or block email editor.

Phase 9 - Supplementary (7 templates):
- Brand description with thumbnail, taxonomy archive delegate
- Brands A-Z shortcode with alphabetical index navigation
- Single brand thumbnail shortcode
- REST API OAuth login and grant-access forms
- Back-in-stock notification form with email input

Reusable Components (6 templates):
- price: product price display with sale handling
- rating: star rating with Bootstrap Icons (filled/half/empty)
- address-card: billing/shipping address card with edit link
- status-badge: contextual order status badges
- quantity-input: +/- input group widget
- form-field: universal form field renderer (text/select/textarea/checkbox)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-28 10:53:44 +01:00
parent 8b1793097c
commit 49b1d52701
14 changed files with 657 additions and 35 deletions

54
PLAN.md
View File

@@ -624,45 +624,29 @@ Track completion per file. Mark with `[x]` when done.
- [x] `order/form-tracking.html.twig`
- [x] `order/order-again.html.twig`
### Phase 8 -- Emails
### Phase 8 -- Emails (SKIPPED)
- [ ] `emails/email-header.html.twig`
- [ ] `emails/email-footer.html.twig`
- [ ] `emails/email-styles.html.twig`
- [ ] `emails/email-order-details.html.twig`
- [ ] `emails/email-order-items.html.twig`
- [ ] `emails/email-customer-details.html.twig`
- [ ] `emails/email-addresses.html.twig`
- [ ] `emails/email-downloads.html.twig`
- [ ] `emails/customer-processing-order.html.twig`
- [ ] `emails/customer-completed-order.html.twig`
- [ ] `emails/customer-on-hold-order.html.twig`
- [ ] `emails/customer-new-account.html.twig`
- [ ] `emails/customer-reset-password.html.twig`
- [ ] `emails/customer-invoice.html.twig`
- [ ] `emails/customer-note.html.twig`
- [ ] `emails/customer-refunded-order.html.twig`
- [ ] `emails/customer-cancelled-order.html.twig`
- [ ] `emails/customer-failed-order.html.twig`
- [ ] `emails/admin-new-order.html.twig`
- [ ] `emails/admin-cancelled-order.html.twig`
- [ ] `emails/admin-failed-order.html.twig`
Skipped: WooCommerce email templates use `wc_get_template_html()` which bypasses
the Twig rendering pipeline. Email overrides would require traditional PHP files
in `woocommerce/emails/`, breaking the Twig-only pattern. Default WooCommerce
email templates are sufficient; email customization can be handled via plugins
(e.g., Kadence WooCommerce Email Designer) or the WooCommerce block email editor.
### Phase 9 -- Supplementary
- [ ] `brands/brand-description.html.twig`
- [ ] `brands/taxonomy-product_brand.html.twig`
- [ ] `brands/shortcodes/brands-a-z.html.twig`
- [ ] `brands/shortcodes/single-brand.html.twig`
- [ ] `auth/form-login.html.twig`
- [ ] `auth/form-grant-access.html.twig`
- [ ] `single-product/back-in-stock-form.html.twig`
- [x] `brands/brand-description.html.twig`
- [x] `brands/taxonomy-product_brand.html.twig`
- [x] `brands/shortcodes/brands-a-z.html.twig`
- [x] `brands/shortcodes/single-brand.html.twig`
- [x] `auth/form-login.html.twig`
- [x] `auth/form-grant-access.html.twig`
- [x] `single-product/back-in-stock-form.html.twig`
### Reusable Components
- [ ] `components/price.html.twig`
- [ ] `components/rating.html.twig`
- [ ] `components/address-card.html.twig`
- [ ] `components/status-badge.html.twig`
- [ ] `components/quantity-input.html.twig`
- [ ] `components/form-field.html.twig`
- [x] `components/price.html.twig`
- [x] `components/rating.html.twig`
- [x] `components/address-card.html.twig`
- [x] `components/status-badge.html.twig`
- [x] `components/quantity-input.html.twig`
- [x] `components/form-field.html.twig`