Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save tsbega/341f681d6d4006d3bd3a4af6a3ea139c to your computer and use it in GitHub Desktop.
Save tsbega/341f681d6d4006d3bd3a4af6a3ea139c to your computer and use it in GitHub Desktop.

Revisions

  1. @mikaelz mikaelz revised this gist Jan 26, 2016. 1 changed file with 11 additions and 0 deletions.
    11 changes: 11 additions & 0 deletions delete-all-woocommerce-products.php
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,11 @@
    <?php

    require dirname(__FILE__).'/wp-blog-header.php';

    $wpdb->query("DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE taxonomy LIKE 'pa_%')");
    $wpdb->query("DELETE FROM wp_term_taxonomy WHERE taxonomy LIKE 'pa_%'");
    $wpdb->query("DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy)");
    $wpdb->query("DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type IN ('product','product_variation'))");
    $wpdb->query("DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type IN ('product','product_variation'))");
    $wpdb->query("DELETE FROM wp_posts WHERE post_type IN ('product','product_variation')");
    $wpdb->query("DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
  2. @mikaelz mikaelz created this gist Jan 26, 2016.
    13 changes: 13 additions & 0 deletions delete-all-woocommerce-products.sql
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,13 @@
    -- Remove all attributes from WooCommerce
    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);
    -- Delete all WooCommerce products
    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');
    -- Delete orphaned postmeta
    DELETE pm
    FROM wp_postmeta pm
    LEFT JOIN wp_posts wp ON wp.ID = pm.post_id
    WHERE wp.ID IS NULL