Merhaba, WordPress sitemde kullanılmayan ve birden fazla olan görselleri silmek istiyorum. Bunu nasıl yapabilirim? Yardımcı olursanız sevinirim.
Not: Media Clear eklentisini kullanıyordum fakat son zamanlarda yazı içerisinde kullandığım görselleri de kullanılmamış diye işaretlediği için eklenti işe yaramıyor.
WordPress Kullanılmayan Görselleri Silme Hk.
9
●442
- 10-04-2023, 23:30:08Neredeyse 1000 adet fotoğrafı tek tek ayıklamam zaman kaybettirir. Güzel çalışan bir eklenti yok mudur bunun için?Sezar6699 adlı üyeden alıntı: mesajı görüntüle
- 10-04-2023, 23:31:12Eklenti de olsa sizin seçmeniz gerekiyor, web sitesinde kullanılan fotoğrafların silinmemesi gerekiyor.Asyacuk adlı üyeden alıntı: mesajı görüntüle
- 10-04-2023, 23:36:05Yazılarda, sayfalarda kullanılan görseller hariç hepsinin silinmesini istiyorum. Bir iki eklenti var ama görsel silme için premium istiyorlar.Sezar6699 adlı üyeden alıntı: mesajı görüntüle
- 11-04-2023, 00:07:24Kimlik doğrulama veya yönetimden onay bekliyor.Selamlar.
Yazılarda ve sayfalarda kullanılan görseller hariç hepsinin silinmesini istiyorum demişsiniz.
<?php /* Sinyor_Ridak */ // Medyadan tüm görselleri almak için fonksiyon function get_all_images() { $args = array( 'post_type' => 'attachment', 'post_mime_type' => 'image', 'post_status' => 'inherit', 'posts_per_page' => -1, ); $query_images = new WP_Query( $args ); $images = array(); foreach ( $query_images->posts as $image ) { $images[] = $image; } return $images; } // İçerikte kullanılan tüm görselleri almak için fonksiyon function get_used_images() { global $wpdb; $query = " SELECT DISTINCT meta_value FROM {$wpdb->postmeta} WHERE meta_key IN ('_thumbnail_id', '_wp_attached_file') "; return $wpdb->get_col( $query ); } // Kullanılmayan resimleri silme fonksiyonu. function delete_unused_images() { $all_images = get_all_images(); $used_images = get_used_images(); $unused_images = array(); foreach ( $all_images as $image ) { if ( ! in_array( get_post_meta( $image->ID, '_wp_attached_file', true ), $used_images ) && ! in_array( $image->ID, get_posts( array( 'post_type' => 'any', 'post_status' => 'publish', 'fields' => 'ids', 'meta_query' => array( array( 'key' => '_thumbnail_id', 'value' => $image->ID, 'compare' => '=' ) ) ) ) ) ) { $unused_images[] = $image; } } foreach ( $unused_images as $image ) { wp_delete_attachment( $image->ID, true ); } } // İnit işlemi çalıştırma. add_action( 'init', 'delete_unused_images' );Bu sayfayı plugins üzerinde kaydedip çalıştırın sayfa dediğiniz şekilde yazılarda sayfalarda olmayan görselleri tespit edip silmeye yöneliktir.
Bunu yapmadan önce komple yedek alınız, herhangi bir olumsuz durumda sorumlu değilim.
Herhangi bir hata mesajı verirse yazabilirsiniz
Teşekkürler.