Leggi invece questi due articoli:
– Come trasferire prodotti e clienti WooCommerce dal sito live al sito di staging
– Come escludere gli ordini WooCommerce dalla copia sul sito live con HPOS
Come impedire la sovrascrittura di ordini e prodotti WooCommerce durante il push
Ogni volta che usi WP STAGING per pubblicare dati dal sito di staging al sito live, devi assicurarti che gli ordini, i clienti e i prodotti WooCommerce sul sito live non siano interessati in alcun modo e rimangano intatti.
Contents
Quindi qual è il modo migliore per impedire che questi dati vengano sovrascritti durante il processo di push?
La risposta breve è: non puoi escludere che questi dati vengano copiati sul tuo sito di staging e non puoi fondere automaticamente ordini e prodotti WooCommerce dai siti live e di staging. Ma fortunatamente, c’è un modo per non perdere ordini e prodotti sul sito di produzione, ma richiede lavoro manuale.
Ancora peggio, alcuni Plugin sostengono di essere in grado di eseguire tale fusione, solo per scoprire che ordini e prodotti sono stati sovrascritti senza alcun avviso. Quindi, questo può distruggere l’integrità dei dati e non te ne accorgerai nemmeno se non controlli ogni ordine e prodotto dopo una tale fusione.
Per prima cosa, dobbiamo capire dove WooCommerce e WordPress memorizzano ordini, prodotti, dati utente come gli indirizzi dei clienti e tutti gli altri dati come articoli e pagine:
- Ordini e prodotti sono memorizzati nelle tabelle
wp_postsewp_postmetaseparati da un campo custom post type chiamato ‘orders’. - Anche WordPress memorizza la maggior parte dei suoi dati come pagine, articoli e persino voci di menu e tutto il resto nelle stesse tabelle
wp_postsewp_postmeta - Gli utenti sono memorizzati in
wp_usersewp_usermeta
Molte altre tabelle WooCommerce personalizzate contengono dati come aliquote fiscali, voci d’ordine e impostazioni generali di WooCommerce.
Ogni nome di tabella del sito di staging inizia con il prefisso wpstg(x)_
I nomi delle tabelle WooCommerce iniziano con lo stesso prefisso, ma iniziano anche con _woocommerce come wpstg(x)_woocommerce_
La x nel prefisso della tabella è il numero del tuo sito di staging. Quindi, se hai più siti di staging, quel numero verrà incrementato come wpstg1_, wpstg2_ e così via.
Se vuoi migrare dati specifici dal tuo sito di staging al sito di produzione senza influire sui dati transazionali, hai tre opzioni:
Opzione 1) Esporta ordini, dati utente e altri dati transazionali dal sito live e importali nel sito di staging prima di migrare il sito di staging in produzione.
Questo ti permette di copiare l’intero sito di staging.
Questo è il modo consigliato se non hai conoscenza della struttura interna del database. Spieghiamo qui sotto come si può fare.
Opzione 2) Escludi tutte le tabelle del database tranne la tabella _options e seleziona solo le cartelle dei Plugin e dei Theme che vuoi pubblicare sul sito di staging. Andando su questa strada ti assicuri di non sovrascrivere o perdere mai dati sul sito di produzione generati dopo la creazione del sito di staging. La maggior parte dei Plugin memorizza anche le proprie impostazioni nella tabella _options. Quindi anche questo migrerà le impostazioni del Plugin sul sito live.
Importante: qualsiasi altro dato mancante che è incluso nelle tabelle _posts e _postmeta deve essere creato di nuovo manualmente sul sito live da te dopo il push.
Opzione 3) Escludi tutte le tabelle del database modificate dal processo di push. Andando su questa strada, non migrerai l’intero sito di staging, inclusi i suoi dati!
A seconda delle tabelle escluse (es. _posts, _postmeta), questo può portare a immagini mancanti e persino elementi di layout sul tuo sito di produzione. Questo accade principalmente se usi un editor visuale come WPBakery (precedentemente noto come visual composer) o Elementor perché questi editor memorizzano i loro design nelle tabelle del database _posts e _postmeta.
Nota: l’opzione 1 è il modo consigliato.
Esportare e importare ordini WooCommerce (opzione consigliata)
La migliore opzione è esportare i dati di ordini e prodotti usando un Plugin di esportazione/importazione separato sul sito di produzione e poi importare i dati di nuovo nel sito di staging prima di fare il push.
Prima di esportare e importare qualsiasi ordine dal tuo sito live al live, è altamente consigliato creare un altro sito di staging per testare l’intero processo prima di fare l’import e l’export sul sito di staging principale!
Guida rapida:
- Metti il tuo sito in modalità manutenzione.
- Installa il Plugin “WooCommerce Sequential Order Numbers” sui siti di produzione e di staging.
- Installa il Plugin “Order Export & Order Import for WooCommerce” sui siti di produzione e di staging.
- Esporta gli ordini WooCommerce dal sito di produzione.
- Elimina tutti gli ordini sul sito di staging.
- Importa gli ordini nel sito di staging.
- Pubblica il sito di staging sul sito di produzione.
Guida passo passo
Prima di procedere, dovrai installare due Plugin di terze parti:
Dovrai installare il Plugin “WooCommerce Sequential Order Numbers” per assicurarti che i numeri d’ordine non cambino in un’importazione.
Esportare e importare ordini potrebbe cambiare l’ID dell’ordine degli ordini importati perché l’ID ordine di WooCommerce si basa sul post ID di WordPress, un numero univoco in WordPress. Quindi, se il post ID sul tuo sito di staging è già usato da un articolo o qualsiasi altro elemento, l’ordine importato otterrebbe un nuovo ID. Quindi questo potrebbe risultare in un nuovo ID ordine per un ordine importato.
Quindi, per mantenere l’ID ordine intatto così com’è, dovrai usare il Plugin “WooCommerce Sequential Order Numbers”.
Questo Plugin aggiunge una nuova voce nel database per memorizzare l’id dell’ordine in un campo separato. Ciò permette al tuo sito di mantenere l’id dell’ordine separato e indipendente dal post id.
- Accedi al tuo sito di produzione
- Vai a WebToffee Import Export > Export
- Seleziona “Order” come in questo screenshot:

Poi scegli “Quick” nel passo successivo e clicca su “Export”. Questo genererà un file CSV che puoi memorizzare sul tuo computer.
- Vai sul tuo sito di staging > WooCommerce > Orders.
- Seleziona lì tutti gli ordini, poi spostali nel cestino. (Questo è importante, dato che li importerai tutti di nuovo nel prossimo passo, dal file che hai esportato sopra dal sito live).

- Vai sul tuo sito di staging.
- Apri WebToffee Import Export > Import

- Poi scegli “Quick”, carica il file .csv esportato sopra e clicca “Import”, come mostrato in questo screenshot:

Dopo questo passo, tutti gli ordini dovrebbero essere importati nel sito di staging e il tuo sito di staging è pronto per essere pubblicato sul sito live seguendo questa guida.
IMPORTANTE: a volte, quando importi ordini nel sito di staging, potrebbe verificarsi un conflitto tra gli ID degli ordini e gli ID di articoli/pagine/allegati. Questo accade perché hai aggiunto nuovi articoli/pagine o qualsiasi altro contenuto sul sito di staging.
Se è successo, vedresti qualcosa come in questo screenshot durante il processo di importazione:

In tal caso, devi modificare il file .csv esportato usando Excel o il software per fogli di calcolo LibreOffice Calc. Vale la pena menzionare che LibreOffice Calc gestisce meglio questi file, ma assicurati di selezionare la codifica UTF-8 mentre apri e salvi il file. Una volta aperto il file, puoi modificare gli ID degli ordini in conflitto con qualsiasi numero più alto non ancora usato dai post ID del tuo sito WordPress, oppure eliminare i loro valori e ne otterranno di nuovi durante l’importazione:

Poi, reimporta il file e tutti gli ordini dovrebbero essere importati con successo.
Suggerimento: potresti dover fare la stessa cosa con prodotti WooCommerce o utenti. Per farlo, consigliamo di usare questi Plugin:
- Product Import Export for WooCommerce. (La versione gratuita non supporta esportazione/importazione di Variable Products)
- Import Export WordPress Users.
Saltare ed escludere dati WooCommerce dal push (non consigliato)
Un’altra opzione per escludere gli ordini dalla sovrascrittura è saltare tutte le tabelle che contengono ordini e prodotti WooCommerce dal push. Dovresti almeno escludere le tabelle qui sotto prima di pubblicare il sito di staging sul sito di produzione:
wpstg1_postswpstg1_postmetawpstg1_userswpstg1_usermeta
Tutte le tabelle che iniziano con:wpstg1_woocommerce_


Sfortunatamente, questa selezione di tabelle escluderebbe articoli e qualsiasi altro dato memorizzato nelle tabelle _posts e _postmeta del nostro sito WordPress. Ad esempio, pagine, articoli, voci di menu e altri dati relativi agli articoli sarebbero esclusi e non copiati sul sito di produzione.
Quindi, segui questo passo solo quando non modifichi alcun dato sul tuo sito di staging che devi migrare sul sito di produzione.
Vedi anche: riferimento alle tabelle del database WooCommerce.
Parole chiave: WooCommerce, Escludere ordini WooCommerce, Escludere prodotti WooCommerce
Articoli correlati
- Come migrare prodotti e clienti WooCommerce dal sito live al sito di staging
- Come escludere gli ordini WooCommerce dalla copia sul sito live con “HPOS
- Implementazione iniziale delle tabelle WooCommerce personalizzate pronta per i test HPOS
- Come eliminare tutti gli ordini WooCommerce e i dati cliente sul sito di staging | Eliminare le transazioni WooCommerce
- Come esportare e importare utenti WordPress
- Aumentare il database max_allowed_packet_size