本视频中,我将向您展示如何在删除产品后自动删除 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 );
}
}
}