даже если WooCommerce это очень надежная торговая платформа, которая сильно развилась за последние годы, но все еще не хватает многих опций. Одним из них является возможность автоматического удаления изображений продукта. WooCommerce при удалении продукта.
Точнее, когда мы удаляем товар из WooCommerce, связанные с ним изображения остаются на сервере. Интернет-магазин с тысячами товаров соберет значительное количество изображений. Если эти картинки не удалить вместе с товарами, то со временем они займут значительный объем памяти.
Когда в WooCommerce добавляется новый товар, как минимум презентационное изображение будет продублировано минимум три-четыре раза, в разных размерах. Есть некоторые themes by Woo, который может создавать до 10 копий исходного изображения для разных макетов.
Лучшим решением для оптимизации места, занимаемого изображениями товаров на сервере веб-хостинга, является их удаление вместе с товарами, удаленными из интернет-магазина.
Как автоматически удалять изображения товаров в WooCommerce когда вы удаляете продукты
У меня есть интернет-магазин, в котором есть лен media library 23.567 XNUMX изображений, большинство продуктов WooCommerce. Если бы я удалил продукты, которых больше нет в наличии, изображения остались бы в медиатеке (на сервере).
Чтобы автоматически удалить изображения продуктов в WooCommerce, вместе с продуктами, все, что вам нужно сделать, это добавить следующий код в файл functions.php активной темы:
*Настоятельно рекомендуется заранее сделать резервную копию папки wp-content/uploads
.
// 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 );
}
}
}
Полезно знать, что после сохранения приведенного выше кода в functions.php
, изображения продукта будут удалены автоматически, вместе с товаром. Когда продукты также удаляются из "Trash».
Вместе с товарами, удаленными из интернет-магазина 3336 изображений также были удалены связанные. Довольно важный номер, который занял бы лишнее место на сервере веб-хостинга.
- Как настроить страницу «Не найдено товаров, соответствующих вашему выбору» в WooCommerce - Оптимизация продаж в интернет-магазинах.
- Как почистить огромный wp_options в SQL — переходные процессы, wpseo_sitemap _cache_validator
- Как быстро удалить все заказы (Orders) из WooCommerce [Советы по SQL]
- ИСПРАВИТЬ ОГРОМНЫЕ таблицы SQL: wp_actionscheduler_actions и wp_actionscheduler_logs [WooCommerce Подсказки]
- Как снять флажок по умолчанию “Ship to different address” со страницы оформления заказа a Woocommerce
Не используйте эту опцию, если вы используете одни и те же изображения для нескольких товаров. Они будут удалены автоматически, если будет удален продукт, в котором они присутствуют.
Это помогло, спасибо!
Grazie Mille, вы решили большую проблему для меня.
Генау был ich gesucht bzw. нужен хабе 👍
Das PlugIn das ich bisher genutzt habe, funktionierte nicht so versältigte wie dieses Snippet
Vielen Dank, das erspart mir einen Haufen Arbeit und viel Zeit