Code xoá ảnh trong Media không xử dụng đến !
Có rất nhiều plugin có thể đáp ứng cái này nhưng code này phát sinh khi khách bên nguyenthaimmo cần nên mình chia sẻ, nếu hữu ích hãy để cho mình 1 bình luận nhé !
- Chú thích: code này sẽ chèn trong file functions.php của theme, nó sẽ giúp xoá hình không sử dụng khi bạn tải lên và xoá bài viết mà Media vẫn còn trong Media thì code này sẽ giải quyết bạn chèn vào 5 đến 10 phút xoá đi là được !
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | function delete_unused_images() { global $wpdb; // Lấy danh sách tất cả các ID của các bài viết và trang $post_ids = $wpdb->get_col("SELECT ID FROM {$wpdb->posts}"); // Lấy danh sách tất cả các ID của các tệp đính kèm trong các bài viết và trang $attachment_ids = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'attachment'"); // Loại bỏ các ID của tệp đính kèm từ danh sách ID bài viết và trang $post_ids = array_diff($post_ids, $attachment_ids); // Lấy danh sách tất cả các tệp đính kèm không được sử dụng $unused_attachment_ids = $wpdb->get_col("SELECT ID FROM {$wpdb->posts} WHERE post_type = 'attachment' AND post_parent NOT IN (" . implode(',', $post_ids) . ")"); // Xoá các tệp đính kèm không được sử dụng foreach ($unused_attachment_ids as $attachment_id) { wp_delete_attachment($attachment_id, true); } } // Chạy hàm khi trang web được tải add_action('wp_loaded', 'delete_unused_images'); |
- Code dưới này cùng chức năng nhưng sẽ để luôn nhé ! Code xoá bài viết sẽ xoá luôn Media của bài viết đó
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | function delete_attachments_with_post($post_id) { // Kiểm tra xem có phải là bài viết không if (get_post_type($post_id) == 'post') { // Lấy danh sách tất cả các tệp đính kèm của bài viết $attachments = get_attached_media('', $post_id); // Xoá từng tệp đính kèm foreach ($attachments as $attachment) { wp_delete_attachment($attachment->ID, true); } } } // Chạy hàm trước khi bài viết được xoá add_action('before_delete_post', 'delete_attachments_with_post'); |
Hãy để lại cảm nhận của bạn về bài viết này