Nel corso dell'ultimo anno, il team WooCommerce si è occupato di lavorare su un progetto che ha il potenziale per aumentare significativamente la velocità dei negozi WooCommerce. Archiviazione degli ordini ad alte prestazioni o HPOS in breve, semplifica la struttura del database e ottimizza le prestazioni migliorando la gestione dei dati degli ordini. Prima dell'HPOS, gli ordini dell'WooCommerce erano memorizzati nelle stesse tabelle del database dei post e delle pagine, il che può causare problemi di prestazioni quando si elaborano grandi volumi di ordini. In futuro, gli ordini saranno spostati in tabelle dedicate, ottimizzate per la memorizzazione dei dati degli ordini.
Naturalmente, questa modifica richiederà il trasferimento dei dati degli ordini dalla struttura della tabella esistente alla nuova struttura della tabella HPOS. L'HPOS è attualmente disponibile come funzione opt-in e non è ancora autorizzato per l'uso in produzione; tuttavia, vi consigliamo vivamente di verificare la compatibilità del vostro sito con HPOS su un sito di staging separato. WooCommerce ha in programma di abilitare HPOS per impostazione predefinita in WooCommerce 8.
Gli sviluppatori di plugin WooCommerce come FooSales dovrà inoltre implementare varie modifiche che garantiranno la compatibilità sia con l'HPOS che con l'archiviazione dei dati legacy. Siamo siamo lieti di confermare che a partire dal FooSales versione 1.34.1 (14 giugno 2023) L'FooSales è pienamente compatibile con l'HPOS. Non ci sono cambiamenti visibili nelle applicazioni FooSales o nei plugin FooSales, tuttavia, quando si decide di passare il sito a HPOS, tutte le funzionalità FooSales funzioneranno come previsto.
Molti sviluppatori di plugin o temi della comunità WooCommerce hanno espresso preoccupazioni riguardo all'implementazione della compatibilità con l'HPOS e all'entità del lavoro richiesto. Per contribuire ad alleviare le loro preoccupazioni, ecco il feedback del nostro sviluppatore principale che si spera possa fornire un po' di tranquillità:
"Inizialmente l'idea di rifattorizzare la nostra base di codice per adattarla all'HPOS ci intimoriva. Una volta che abbiamo iniziato a seguire le istruzioni Documentazione per sviluppatori WooCommerce è emerso che (almeno per la nostra base di codice) l'aggiornamento non era poi così complicato. La documentazione contiene un'espressione regolare molto utile che consente di vedere rapidamente tutti i punti del codice in cui potrebbe essere necessario un refactoring. Per noi, una delle maggiori differenze è stata nel recupero e nell'aggiornamento dei meta-dati degli ordini, che accedevano alla tabella 'wp_posts' direttamente con le funzioni WordPress. In questi casi è bastato utilizzare le corrispondenti funzioni per gli ordini WooCommerce, che hanno una compatibilità all'indietro per gli utenti che non sono ancora passati a HPOS. Oltre ai metadati degli ordini, è stato necessario modificare alcune azioni e filtri per farli funzionare con le nuove pagine di elenco e di modifica degli ordini. In totale ci sono voluti solo pochi giorni per aggiornare e testare le modifiche necessarie a supportare l'archiviazione degli ordini ad alte prestazioni WooCommerce". - Etienne, sviluppatore capo della FooSales
Siamo entusiasti di ciò che HPOS significa per gli esercenti e siamo ansiosi di sapere come ha migliorato le prestazioni dei negozi degli esercenti. Detto questo, consigliamo di testare a fondo HPOS su un ambiente di staging e di assicurarsi che tutti i plugin e i servizi utilizzati dal negozio siano compatibili con H% HPOS.