Επαναφορά WooCommerce: Διαγραφή προϊόντων, attributes και κατηγοριών με SQL
Πλήρης καθαρισμός WooCommerce καταστήματος με στοχευμένα SQL queries για διαγραφή προϊόντων, παραλλαγών, γνωρισμάτων και κατηγοριών απευθείας από τη βάση δεδομένων.
Τι κάνει αυτό το SQL snippet
Κάποιες φορές χρειάζεται να κάνετε πλήρη επαναφορά του WooCommerce καταστήματός σας, ειδικά όταν δοκιμάζετε εισαγωγές προϊόντων, ξεκινάτε από την αρχή με νέο feed ή καθαρίζετε ένα staging site.
Το WooCommerce δεν διαθέτει ενσωματωμένη επιλογή για άμεση διαγραφή όλων των προϊόντων, γνωρισμάτων και κατηγοριών. Με τα παρακάτω SQL queries μπορείτε να κάνετε γρήγορο και στοχευμένο καθαρισμό της βάσης.
1) Γιατί να επαναφέρετε το WooCommerce με SQL;
Η επαναφορά με SQL είναι χρήσιμη όταν χρειάζεστε καθαρό WooCommerce περιβάλλον χωρίς να κάνετε χειροκίνητες μαζικές διαγραφές μέσα από το WordPress admin.
- Γρήγορη και καθαρή επαναφορά βάσης δεδομένων.
- Ιδανικό για staging ή περιβάλλοντα ανάπτυξης.
- Χρήσιμο όταν αντικαθιστάτε feeds προμηθευτών.
- Κατάλληλο όταν έχουν δημιουργηθεί λανθασμένα ή διπλά προϊόντα από εισαγωγή.
- Πιο άμεσο από τη χειροκίνητη διαγραφή προϊόντων, attributes και κατηγοριών.
2) Πριν εκτελέσετε τα queries
Πριν κάνετε οποιαδήποτε διαγραφή απευθείας στη βάση δεδομένων, πρέπει να επιβεβαιώσετε ότι έχετε σωστό backup και ότι χρησιμοποιείτε το σωστό table prefix.
- Πάρτε πλήρες backup της βάσης δεδομένων.
- Δοκιμάστε πρώτα σε staging περιβάλλον.
- Αντικαταστήστε το
XvvIa4v_με το πραγματικό WordPress table prefix. - Ελέγξτε το prefix μέσα από το
wp-config.php. - Μην το εκτελέσετε σε live site αν δεν είστε απόλυτα σίγουροι.
- Μετά τη διαγραφή, καθαρίστε cache και WooCommerce transients.
3) Code Snippets
Εκτελέστε τα παρακάτω SQL queries μέσω phpMyAdmin, Adminer,
MySQL client ή wp db query. Πριν τα τρέξετε, αλλάξτε παντού
το XvvIa4v_ με το table prefix του δικού σας WordPress site.
DELETE p, pm, tr
FROM XvvIa4v_posts AS p
LEFT JOIN XvvIa4v_postmeta AS pm ON p.ID = pm.post_id
LEFT JOIN XvvIa4v_term_relationships AS tr ON p.ID = tr.object_id
WHERE p.post_type IN ('product', 'product_variation');
DELETE t, tt, tr
FROM XvvIa4v_terms AS t
JOIN XvvIa4v_term_taxonomy AS tt ON t.term_id = tt.term_id
LEFT JOIN XvvIa4v_term_relationships AS tr ON tt.term_taxonomy_id = tr.term_taxonomy_id
WHERE tt.taxonomy LIKE 'pa_%';
DELETE t, tt, tm
FROM XvvIa4v_terms AS t
INNER JOIN XvvIa4v_term_taxonomy AS tt ON t.term_id = tt.term_id
LEFT JOIN XvvIa4v_termmeta AS tm ON t.term_id = tm.term_id
WHERE tt.taxonomy = 'product_cat';
4) Πώς λειτουργεί
product και
product_variation, μαζί με τα σχετικά post meta και taxonomy relationships.
pa_, όπως pa_color, pa_size και αντίστοιχα attributes.
product_cat.
5) Πού να εκτελέσετε τα queries
Ανάλογα με το hosting και την πρόσβαση που έχετε, μπορείτε να εκτελέσετε τα SQL queries με έναν από τους παρακάτω τρόπους.
- phpMyAdmin: από την καρτέλα SQL της βάσης δεδομένων.
- Adminer: αν χρησιμοποιείτε lightweight database management tool.
- WP-CLI: μέσω
wp db query, αν έχετε SSH πρόσβαση. - MySQL client: απευθείας από terminal για πιο προχωρημένη χρήση.
6) Τι να ελέγξετε μετά την επαναφορά
Αφού ολοκληρωθεί η διαγραφή, κάντε έναν σύντομο έλεγχο ώστε να επιβεβαιώσετε ότι το WooCommerce catalog έχει καθαρίσει σωστά.
- Ανοίξτε το WooCommerce → Προϊόντα και ελέγξτε ότι δεν υπάρχουν προϊόντα.
- Ελέγξτε τις κατηγορίες προϊόντων.
- Ελέγξτε τα attributes από Προϊόντα → Attributes.
- Καθαρίστε cache από το plugin cache ή τον server.
- Καθαρίστε WooCommerce transients αν χρειάζεται.
- Κάντε test νέο import με μικρό δείγμα προϊόντων.
7) Best Practices
- Πάντα να κάνετε backup τη βάση δεδομένων πριν εκτελέσετε SQL queries.
- Κάντε πρώτα δοκιμή σε ένα staging περιβάλλον.
- Αντικαταστήστε το
XvvIa4v_με το πραγματικό σας table prefix. - Χρησιμοποιήστε τα queries μόνο όταν χρειάζεστε πλήρη επαναφορά WooCommerce catalog.
- Μην τα χρησιμοποιείτε για μεμονωμένη διαγραφή προϊόντων.
- Μετά την επαναφορά, κάντε καθαρή εισαγωγή προϊόντων από αξιόπιστο αρχείο ή feed.
8) Συχνές ερωτήσεις
Όχι. Τα συγκεκριμένα queries στοχεύουν προϊόντα, παραλλαγές, attributes και product categories. Δεν διαγράφουν παραγγελίες ή πελάτες.
Όχι από αυτά τα queries. Οι εγγραφές προϊόντων διαγράφονται, αλλά τα media attachments δεν καθαρίζονται αυτόματα από τη βιβλιοθήκη πολυμέσων.
Όχι απευθείας. Μπορείτε να επαναφέρετε τα δεδομένα μόνο από backup βάσης δεδομένων.
Ναι. Το παράδειγμα χρησιμοποιεί XvvIa4v_. Πρέπει να το αντικαταστήσετε
με το πραγματικό prefix του δικού σας WordPress site.
Μόνο αν θέλετε πλήρη καθαρισμό του WooCommerce catalog και έχετε επιβεβαιωμένο backup. Για συνηθισμένη διαχείριση προϊόντων, προτιμήστε ασφαλέστερη μέθοδο μέσα από το admin.
9) Υποστήριξη
Για οποιοδήποτε πρόβλημα ή απορία σχετικά με WooCommerce SQL snippets, μπορείτε να επικοινωνήσετε με την τεχνική υποστήριξη.