Akár a webhelyek fejlesztése, akár éles üzem során előfordulhat, hogy szükségessé válik a WooCommerce-ben lévő termékek tömeges, alapos törlése.
Sajnos a WordPress az ilyen feladatok terén nem túlságosan előzékeny, és az adminfelületen csak nagyon lassan és erőforrásigényes módon tudnánk ezt a feladatot elvégezni, ám ha rendelkezünk phpmyAdmin-hozzáféréssel vagy SSH-eléréssel a szerverhez, akkor pillanatok alatt lenullázhatjuk a webshop tartalmát, hogy tiszta lappal indulhasson a termékfeltöltés.
A műveletet kétféleképpen végezhetjük el, a termékkategóriák legyalulásával vagy a termékkategóriák megőrzése mellett. Lássuk hát az ehhez szükséges parancsok sorát!
FONTOS! Az alábbi parancsok a WordPress alapértelmezett táblaneveit feltételezik. Egyéni előtag használata esetén módosítani kell a parancsokat.
Az adatbázis minden módosítása előtt javasolt biztonsági mentést készíteni az adatokról!
WooCommerce-termékek tömeges törlése a termékkategóriák megőrzésével
Amennyiben csak a termékeket szeretnénk kigyomlálni az adatbázisunkból, a termékkategóriákat (az azonosítóikkal együtt) viszont megtartanánk, akkor az alábbi parancsokat kell kiadnunk:
Attribútumok törlése
DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy LIKE 'pa_%'); DELETE FROM wp_term_taxonomy WHERE taxonomy LIKE 'pa_%'; DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);
Termékek törlése
DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type IN ('product','product_variation')); DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type IN ('product','product_variation')); DELETE FROM wp_posts WHERE post_type IN ('product','product_variation');
Elárvult metaadatok törlése
DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL;
Megjegyzés: Multisite környezetben a fenti táblaneveket a környezetnek megfelelően módosítani kell, és hozzájuk kell fűzni a megfelelő számot.
WooCommerce-termékek tömeges törlése a termékkategóriák törlésével
Ha a termékkategóriákat is törölni szeretnénk, és mindent nulláról kezdenénk, az alábbi parancsokra lesz szükségünk:
DELETE relations.*, taxes.*, terms.*
FROM wp_term_relationships AS relations
INNER JOIN wp_term_taxonomy AS taxes
ON relations.term_taxonomy_id=taxes.term_taxonomy_id
INNER JOIN wp_terms AS terms
ON taxes.term_id=terms.term_id
WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type='product');
DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = 'product');
DELETE FROM wp_posts WHERE post_type = 'product';
Megjegyzés: Multisite környezetben a fenti táblaneveket a környezetnek megfelelően módosítani kell, és hozzájuk kell fűzni a megfelelő számot.
Chilly 1997 óta foglalkozik webhelyek üzemeltetésével és programozással, valamint különböző kütyük kipróbálásával, és azóta folyamatosan nyomon követi a technikai újításokat. Elsődlegesen Linux-rendszerekkel dolgozik, de az évek során rengeteg tapasztalatra tett szert a Windows-gépek üzemeltetése terén is, hobbiszinten pedig az utóbbi időben egyre több időt tölt a Raspberry Pi módosítgatásával.
Mesterfokon beszél angolul, és műszaki szakfordítói vizsgával rendelkezik. Korábban sokáig újságíróként dolgozott nyomtatott és online magazinoknál.
Legutóbbi hozzászólások