Gereksiz Görsellerden Kurtulun: E-Ticaret Sitenizi Hafifletin

WooCommerce tabanlı bir e-ticaret sitesi yönetiyorsanız, muhtemelen fark etmişsinizdir: Bir ürünü sildiğinizde, o ürüne ait fotoğraflar medya kütüphanenizde ve sunucunuzda kalmaya devam eder.
WordPress, güvenlik önlemi olarak (başka bir yerde kullanılıyor olma ihtimaline karşı) medya dosyalarını otomatik silmez. Ancak binlerce ürünün girip çıktığı, varyasyonlu ürünlerin olduğu sitelerde bu durum zamanla ciddi bir “dijital çöp” yığınına dönüşür. Hosting kotanız dolar, yedekleme boyutlarınız gereksiz yere şişer.
Bu yazımda, bir WooCommerce ürününü kalıcı olarak sildiğinizde, ona bağlı tüm görsellerin (öne çıkan görsel, galeri ve varyasyon resimleri) sunucudan da otomatik olarak nasıl silineceğini paylaşacağım.
Mantık Nasıl Çalışıyor? WordPress’in sunduğu before_delete_post kancasını (hook) kullanacağız. Bu kanca, bir içerik çöp kutusundan tamamen silinmeden hemen önce tetiklenir.
İşleyiş şöyle olacak:
- Silinmekte olan içeriğin bir “Ürün” olup olmadığını kontrol et.
- Ürünün Öne Çıkan Görselinin ID’sini al.
- Ürünün Galeri Görsellerinin ID’lerini al.
- Eğer ürün varyasyonlu ise, alt ürünleri (children) tara ve onlara atanmış görselleri bul.
- Toplanan tüm görsel ID’lerini
wp_delete_attachmentfonksiyonu ile sunucudan kalıcı olarak sil.
Kod Parçası: Aşağıdaki kodu temanızın functions.php dosyasına veya kendi yazdığınız bir eklenti dosyasına ekleyebilirsiniz.
⚠️ Çok Önemli Uyarı Bu kod parçacığı “acımasızdır“. Ürünü sildiğiniz an resimleri de siler. Eğer sitenizde aynı görseli birden fazla üründe kullanıyorsanız (örneğin; ortak bir beden tablosu görseli, bir marka logosu vb.), bu kodu kullanmamalısınız.
Çünkü A ürününü sildiğinizde, o ortak görsel silineceği için B ürünündeki görsel de kırık (bozuk) görünecektir. Bu yöntem, her ürünün kendine has fotoğraflarının olduğu senaryolar için mükemmeldir.
Sonuç Bu basit fonksiyon sayesinde e-ticaret sitenizin veritabanını ve dosya sistemini temiz tutabilirsiniz. Özellikle 5.000+ ürünü olan ve sık sık ürün sirkülasyonu yaşayan mağazalarda bu işlem GB’larca yer tasarrufu sağlar.
Kodlar Kodlayana, Kahveler Bana! ☕
Burada paylaştığım içerikler projelerinde işine yaradıysa veya sana zaman kazandırdıysa, bir kahve ısmarlayarak desteğini gösterebilirsin. Bu destek, daha fazla içerik üretmem için motive edici olacaktır.
☕ Bana Bir Kahve Ismarla


