Woocommerce删除产品后如何自动删除产品所有图像

在本文中,我将向您展示Woocommerce如何在删除产品后自动删除该产品图像。
这样您就可以释放服务器空间并减少媒体库的混乱。

但是有一个警告:如果将图像分配给多个产品,则删除产品后其他产品也将丢失此图像。

将下面代码片段粘贴到主题的 functions.php 文件中。

// Automatically Delete Woocommerce Images After Deleting a Product
add_action( 'before_delete_post', 'delete_product_images', 10, 1 );

function delete_product_images( $post_id )
{
    $product = wc_get_product( $post_id );

    if ( !$product ) {
        return;
    }

    $featured_image_id = $product->get_image_id();
    $image_galleries_id = $product->get_gallery_image_ids();

    if( !empty( $featured_image_id ) ) {
        wp_delete_post( $featured_image_id );
    }

    if( !empty( $image_galleries_id ) ) {
        foreach( $image_galleries_id as $single_image_id ) {
            wp_delete_post( $single_image_id );
        }
    }
}

 

发表回复

您的电子邮箱地址不会被公开。