Jak ve WooCommerce smazat všechny produkty bez fotografií?
Při importování produktů na různých webhostinzích se setkáváme s tím, že běžící skript začne „narážet“ na časové limity hostingu a nedokončí kompletní import daného produktu. Nejčastěji se to spává při nahrávání fotografií. Pak z 9000 produktů můžeme vidět 2500 produktů bez fotografií.
Co s tím? Mazat ručně? To asi ne 🙂
Můžete použít dotaz do MySQL databáze (např. přes PhpMyAdmina), který projde všechny produkty a ty které nemají nahranou fotografii tak jim změní status a přesune je do koše. Ty pak můžete jednoduše odstranit.
Zde je ukázkový kód pro přesunutí všech produktů do koše bez fotografií
Ještě než začnete tak doporučujeme zazálohovat celou databázi!
UPDATE wp_posts SET post_status = "trash" WHERE ID NOT IN ( SELECT post_id FROM wp_postmeta WHERE meta_key = "_thumbnail_id" ) AND post_type = 'product';
Následně doporučujeme provést kontrolu koše.
Dalším dotazem odstraníte produkty z koše.
DELETE wp_posts,wp_term_relationships,wp_postmeta,wp_term_taxonomy FROM wp_posts LEFT JOIN wp_term_relationships ON ( wp_posts.ID = wp_term_relationships.object_id ) LEFT JOIN wp_postmeta ON ( wp_posts.ID = wp_postmeta.post_id ) LEFT JOIN wp_term_taxonomy ON ( wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id ) WHERE wp_posts.post_status='trash';