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.
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.
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
Trong code trên, bạn có thể chỉnh điều kiện get_post_type($post_id) nếu chỉ muốn áp dụng cho một post type nhất định
Nếu bạn muốn chỉ áp dụng cho một post type cụ thể, bạn cần thêm điều kiện kiểm tra post type trong hàm của mình, ví dụ code dưới chỉ xoá các ảnh của post type là product
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é.
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.
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ở filefunctions.php
của theme, sau đó thêm đoạn code bên dưới vào functions. Lưu lại là được
PHP:
Bạn không có quyền xem nội dung này. Đăng nhập hoặc Đăng ký.
Xoá hình ảnh của sản phẩm khi xoá sản phẩm
Nếu bạn muốn chỉ áp dụng cho một post type cụ thể, bạn cần thêm điều kiện kiểm tra post type trong hàm của mình, ví dụ code dưới chỉ xoá các ảnh của post type là product
PHP:
Bạn không có quyền xem nội dung này. Đăng nhập hoặc Đăng ký.
Lưu ý quan trọng
- Chỉ xóa khi bài viết bị xóa vĩnh viễn (không còn trong thùng rác): Hàm này chỉ chạy khi bài viết bị xóa khỏi thùng rác hoặc bị xóa vĩnh viễn ngay từ đầu
- Không kiểm tra file đính kèm có được sử dụng ở bài viết khác không: Nếu file đính kèm được dùng ở nhiều bài viết, việc xóa này sẽ làm hỏng các bài viết khác
- Nếu muốn kiểm tra file đính kèm có được dùng ở bài viết khác không, bạn nên dùng plugin như "Delete Post with Attachments", vì plugin này sẽ kiểm tra trước khi xóa
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: