Как сделать автоматическое удаление изображения товара WooCommerce? Есть простое решение!
Вставте код в конце файла темы /functions.php код:
// Aвтоматическое удаление изображений Woocommerce после удаления продукта
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 );
}
}
}
Подробнее показываю в видео
После удаления товара из WooCommerce, связанные с ним изображения остаются на хостинге. Если эти изображения не удалить вместе с товарами, то они займут значительный объем памяти. Интернет-магазин с тысячами товаров соберет много мусора.
Когда добавляется товар, изображение будет продублировано минимум три-четыре раза, в разных размерах. Популярные темы WordPress создают до 10 копий исходного изображения для разных макетов. Лучшим решением для оптимизации WordPress c изображениями для товаров в Woocommerce, это атоматическое удаление при удалении самого товара.