The problem
Officine dei Cedri sells typical products from Calabria built around the citron: citron liqueurs and traditional sweets. The business wanted one shop that could sell to different groups of customers at different prices, and that visitors who do not read Italian could use too.
What I built
I built a bilingual WooCommerce shop with pricing rules per customer group.
- Italian and English — qTranslate with translated URLs and WooCommerce support, so products, categories and pages exist in both languages.
- Prices by customer group — a different price for each user role, with the option of showing the catalogue without prices and a custom notice instead.
- Dynamic pricing and discounts — rules for product prices and cart discounts, set from the admin.
- Table-rate shipping — shipping costs calculated from a table of rules.
- PDF invoices — invoices for WooCommerce orders as PDF files.
- Shopping aids — product comparison, grid or list view, related products, Facebook sharing and live chat.
- Speed and safety — page caching with W3 Total Cache, Cloudflare, backups and brute-force protection.
Built with
WordPress and WooCommerce with the Benissimo vintage-style theme, qTranslate, Prices by User Role, Dynamic Pricing & Discounts, Table Rate Shipping, WooCommerce PDF Invoice, Yoast SEO and Photo Gallery.
Why it was done this way
Pricing by customer group, discount rules and two languages interact in ways that are easy to get wrong. So I built the shop first on a staging subdomain, with the same theme and pricing plugins, and checked it there before moving it to the live domain.


