Cách xoá ảnh đính kèm khi xoá bài viết trong WordPress

Cách xoá ảnh đính kèm khi xoá bài viết trong WordPress

Hôm nay mình sẽ chia sẻ cho các bạn một thủ thuật wordpress siêu đơn giản và cần thiết. Đó là cách xoá ảnh đính kèm khi xoá bài viết trong wordpress, cách làm cực đơn giản, không cần plugin và hiệu quả tức thì. Cách làm này sẽ giúp bạn tiết kiệm dung lượng hosting khá nhiều và bạn chắc chắn cần phải làm việc này đấy.
1723196162120.png

Code xoá ảnh đính kèm khi xoá bài viết không cần plugin

Tự động xoá ảnh khi xoá bài WordPress​

Thông thường, khi chúng ta viết bài ở wordpress, nếu có đính kèm hình ảnh thì các ảnh sẽ lưu trữ ở /wp-content/uploads/
với mỗi file ảnh được đưa vào bài viết, sẽ tự động phân tách ra nhiều kích thước hình ảnh khác nhau, được sử dụng để hiển thị responsive. Việc này đồng nghĩa với việc hosting của bạn sẽ phải mất thêm dung lượng để chứa các file này.

Sẽ chẳng có gì đáng nói nếu như bạn không xoá các bài viết này đi, lý thuyết thì không sử dụng bài viết nữa, các hình ảnh sẽ mất theo. Nhưng thực tế là các file hình ảnh này sẽ vẫn lưu trên hosting của bạn dẫn đến dung lượng hosting bị đầy.


1723626386206.webp

Như hình trên, mỗi một file ảnh được upload lên sẽ phân tách thành nhiều kích thước khác nhau.

Có rất nhiều cách để xử lý vấn đề này, bạn có thể cài plugin quản lý hình ảnh, có lẽ cũng có chức năng này, nhưng mình thì không thích cài nhiều plugin lên website wordpress chỉ để làm một việc cỏn con nào đó. Nên mình hay dùng cách code vào file functions.php của theme
Xem thêm Cách truy cập vào functions.php của theme

Cách xoá ảnh khi xoá bài WordPress không cần Plugin​

Bạn mở file functions.php của theme, sau đó thêm đoạn code bên dưới vào functions. Lưu lại là được
PHP:
add_action( 'before_delete_post', function( $id ) {
    $attachments = get_attached_media( '', $id );
    foreach ($attachments as $attachment) {
        wp_delete_attachment( $attachment->ID, 'true' );
    }
});
Bây giờ, mỗi khi bạn xoá bài viết trên website của bạn, tất cả các file đính kèm trong bài viết đó sẽ bị mất đi luôn. Nhưng lưu ý là khi bạn xoá bài viết thì bài viết sẽ lưu ở thùng rác nhé. Bạn cần vào thùng rác xoá vĩnh viễn bài viết thì file đính kèm mới bị xoá nhé. Chúc anh em thành công.

Reply lại cho mình nếu cần hỗ trợ gì thêm nhé. :)
 
Sửa lần cuối: