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

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.

Visit Us On LinkedinCheck Our Feed