Recentemente WooCommerce ha introdotto l'”High-Performance Order Storage” [HPOS] per gli ordini WooCommerce come funzionalità beta, che puoi attivare per salvare i dati degli ordini WooCommerce in tabelle del database separate con i seguenti nomi:
- _wc_orders
- _wc_orders_meta
- _wc_order_addresses
- _wc_order_operational_data
- _wc_order_coupon_lookup
- _wc_order_product_lookup
- _wc_order_stats
- _wc_order_tax_lookup
- wp_woocommerce_order_items
- wp_woocommerce_order_itemmeta
Questa guida spiega come puoi usare questa funzionalità per evitare che gli ordini del sito di staging sostituiscano gli ordini del sito live ogni volta che fai il push di un sito di staging verso il sito live. Per farlo, segui questi passaggi:
Contents
Abilitare HPOS sia sul sito live che su quello di staging:
Nota: HPOS è in pieno sviluppo e ancora work in progress. Trovi istruzioni più dettagliate nell’articolo ufficiale WooCommerce HPOS.
Vai in (WooCommerce > Settings > Advanced > Features) e seleziona la casella “High-performance order storage” come in questo screenshot sia sul sito di staging che su quello live, e assicurati che anche “Enable compatibility mode” sia spuntato.

Dopo questo passaggio, WooCommerce inizierà a sincronizzare gli ordini dalla normale tabella _posts alla nuova tabella _wc_orders. Potresti dover aspettare un paio di minuti finché la sincronizzazione non è completata.
Anche in questo caso, è obbligatorio eseguire questi passaggi sia sul sito live che su quello di staging.
Escludere le tabelle degli ordini WooCommerce durante il processo di push
Ora, quando si tratta di fare il push di un sito di staging verso il sito live, puoi escludere queste tabelle:

E gli ordini WooCommerce del tuo sito live rimarranno gli stessi dopo il push e non saranno sostituiti da quelli del sito di staging.
Prevenire pagamenti duplicati: escludere le tabelle ActionScheduler
Quando fai il push o migri un sito WooCommerce che usa WooCommerce Subscriptions o altri task pianificati, c’è il rischio di scatenare azioni duplicate (come i pagamenti ricorrenti) sul sito di destinazione.
Per evitare che queste azioni vengano eseguite due volte, devi escludere le tabelle ActionScheduler dal processo di migrazione/push:
{prefix}_actionscheduler_actions{prefix}_actionscheduler_logs{prefix}_actionscheduler_claims{prefix}_actionscheduler_groups
Nota: sostituisci {prefix}_ con il prefisso specifico del database del tuo sito di staging.
Come in questo screenshot:

Articoli correlati
- Implementazione iniziale delle tabelle personalizzate WooCommerce pronta per i test HPOS
- Saltare ordini e prodotti WooCommerce
- Come eliminare tutti gli ordini WooCommerce e i dati dei clienti sul sito di staging | Eliminare le transazioni WooCommerce
- Due modi semplici per fare il Backup del tuo database WooCommerce in WP