Libreria Rotondi

Full e-commerce rebuild for Rome's esoteric bookshop.

Solo developer · Libreria Rotondi · 2024–present · live
WordPress WooCommerce PHP Nexi XPay ACF ATUM

The Problem

A historical esoteric bookshop in Rome with 20,000+ items, messy catalog, broken checkout, poor sync, a clucky event management system and a hosting environment held together with tape.

20k+ Products synced
3 Payment gateways
0 UI Builders
100% Business Tailored solutions

Payment Rework

Migrated from PayPal PPCP (silent onApprove failures) to Nexi XPay Build v3 with iframe styling, fallback flow, and proper error capture.

Payment Rework

Stock Sync Fix

sync-handler.php
// Before: set_product_stock() reset WC stock on every sync
// After: differential updates via _rotondi_synced_capacity meta
function sync_stock_differential( $product_id, $new_capacity ) {
    $prev = get_post_meta( $product_id, '_rotondi_synced_capacity', true );
    if ( $prev === $new_capacity ) return;
    update_post_meta( $product_id, '_rotondi_synced_capacity', $new_capacity );
    wc_update_product_stock( $product_id, $new_capacity );
}

Event System

Custom taxonomy restructure — iniziative parent with children eventi, corsi, visite-guidate, lettura-tarocchi. Waitlist, capacity tracking, "Tutto esaurito" notices.

Event System

Key Takeaway

The hardest part wasn't the code — it was untangling years of plugin conflicts and undocumented customizations without breaking the live store.