Das Problem
UpGreens ist ein Geschäft in Neapel, das E-Bikes, Fatbikes und Zubehör über WooCommerce verkauft. Der Shop war mit echten Bestellungen online, es durfte also nichts kaputtgehen. Doch er hatte echte Probleme: Die Produktseiten zeigten Preise mit Mehrwertsteuer, der Warenkorb ohne, dasselbe Produkt hatte also zwei verschiedene Preise. Der Warenkorb war halb auf Englisch, bei jedem Seitenaufruf erschien eine PHP-Warnung, und die Startseite wirkte veraltet.
Was ich gebaut habe
Ich habe den Shop repariert und sein Frontend neu aufgebaut, mit nur einer kleinen, abgesicherten Korrektur im Theme selbst.
- Einheitliche Preise – Shop, Warenkorb und Kasse zeigen jetzt alle Preise inklusive Mehrwertsteuer, der Kunde sieht also von der Produktseite bis zur Zahlung einen einzigen Preis.
- Warenkorb und Kasse auf Italienisch – ein kleines Must-use-Plugin übersetzt die restlichen englischen Texte über WordPress-Filter und übersteht so Theme-Updates.
- Startseite aus Live-Daten – Hero, Kategorien, Produktauswahl, Vorteile, Neuigkeiten und Community-Leiste werden aus dem Katalog erzeugt. Das Badge „bis zu X % Rabatt“ wird aus den echten Rabatten berechnet, und die Grenze für kostenlosen Versand (150 €) wird aus den Shop-Einstellungen gelesen.
- Neuer Header und Footer – eine einzige weiße Leiste mit Logo, Menü, Suche, Konto und Warenkorbzähler, und ein Footer, der nur die Zahlungsarten zeigt, die an der Kasse tatsächlich verfügbar sind.
- Ratenzahlung – Klarna und HeyLight, mit denen Kunden den Betrag in bis zu 12 zinsfreie Raten aufteilen können.
- Italienische Rechnungsstellung – Felder für Umsatzsteuer-ID und Steuernummer an der Kasse sowie PDF-Rechnungen.
- Getestete Layouts – das Produktraster zeigt 4 Produkte pro Reihe am Desktop, 2 auf dem Tablet und 1 auf dem Smartphone.
Womit es gebaut ist
WordPress und WooCommerce mit dem Theme Bikeway und WPBakery, Klarna- und HeyLight-Gateways, Versand nach Tabellensätzen und nach Warenkorb, PDF-Rechnungen und Wordfence. Die neuen Teile sind eigene Must-use-Plugins in PHP für Startseite, Header, Footer, Produktraster und die Übersetzung des Warenkorbs. Der Katalog umfasst 28 veröffentlichte Produkte.
Warum so gebaut
Das Theme hat kein Child-Theme, jede Änderung an seinen Dateien wäre also beim nächsten Update verloren. Deshalb habe ich jede Änderung in eigene Must-use-Plugins gelegt. Jedes lässt sich durch Löschen einer einzigen Datei abschalten, und vor jeder Änderung am Live-Shop habe ich ein Datenbank-Backup angelegt.


