Automatically Delete Product Images When Deleting in WooCommerce

By default, WooCommerce does not delete product images when you delete a product. However, this tutorial will guide you on setting up a custom function that removes the product’s images along with the product itself.

 

Step 1: Create a Function to Delete Images Associated with a Product

Create a custom function that removes both the featured image and the gallery images linked to a product.

function auto_delete_product_images($post_id) {
    $product = wc_get_product($post_id);
    if ($product) {
        $gallery_ids = $product->get_gallery_image_ids();
        $featured_image_id = $product->get_image_id();

        // Remove featured image
        if ($featured_image_id) {
            wp_delete_attachment($featured_image_id, true);
        }

        // Remove gallery images
        foreach ($gallery_ids as $image_id) {
            wp_delete_attachment($image_id, true);
        }
    }
}

 

Step 2: Attach the Function to Product Deletion

Use the before_delete_post action hook to attach the function to product deletion.

add_action('before_delete_post', 'auto_delete_product_images');

 

Step 3: Implement the Code in the Theme’s functions.php File

Insert the code into your theme’s functions.php file, ideally in a child theme to keep the functionality after future theme updates.

 

Step 4: Verify the Deletion of Product Images

After adding the function and hook, test the process. When you delete a product from WooCommerce, the related images should also be deleted from your server.

 

Important Notes:
  • Always back up your website before making changes. Deleting product images is permanent.
  • Test this on a staging site to ensure it works correctly before applying it to your live website.

 

External Resources:

Leave a Comment

Your email address will not be published. Required fields are marked *

Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.