Tại sao cần xóa ảnh đính kèm với bài viết khi xóa bài
Khi quản trị và vận hành website trên nền tảng wordpress, đôi khi chúng ta sẽ phải xóa đi các bài viết cà các sản phẩm không cần thiết trên website. Tuy nhiên khi xóa bài viết và sản phẩm thì không thể xóa luôn đc cả các hình ảnh đi kèm trong bài viết và sản phẩm đó, trừ khi bạn sử dụng thêm các trình cắm (plugin) cài vào web.
Với website ít bài viết hay sản phẩm , bạn có thể thực hiện thủ công là xóa bài viết và sản phẩm . Sau đó vào mục media check và xóa các hình ảnh trong bài viết và sản phẩm đó. Mặc dù vậy, việc làm này cũng thủ công và mất thời gian.
Chưa kể đến khi website bạn có nhiều sản phẩm hay bài viết thì việc thực hiện thủ công như vậy là bất khả thi , và bạn phải cài plugin vào web để scan và xóa nhưng cũng sẽ không đc chuẩn.
Vậy phải code như thế nào ?
Để giải quyết vấn đề trên, shopcode sẽ mách bạn chỉ với đoạn code ngắn bạn có thể thực hiện công việc đó một cách dễ dàng mà không ảnh hưởng đến trải nghiệm trang web.. Bạn chỉ cần coppy đoạn code dưới đây bỏ vào file function.php của theme mà bạn đang sử dụng là được.
/*Xóa ảnh khi xóa sản phẩm*/ function delete_all_attached_media( $post_id ) { if ( get_post_type($post_id) == "product" ) { $attachments = get_attached_media( '', $post_id ); foreach ($attachments as $attachment) { wp_delete_attachment( $attachment->ID, 'true' ); } } } add_action( 'before_delete_post', 'delete_all_attached_media' );
Chức năng của đoạn code này nó sẽ lấy toàn bộ các file đính kèm với $post_id được chỉ định, sau đó nó sẽ lấy id các file đính kém đó và xóa bằng hàm wp_delete_attachment. Sau đó sẽ hook vào vị trí trước khi thực hiện xóa post.
Kết
Như vậy là mình đã giới thiệu tới các bạn đoạn code xóa ảnh khi xóa bài viết và sản phẩm trên WordPress. Hi vọng sẽ giúp ích được cho các bạn trong quá trình quản trị và vận hành website.
Chúc các bạn thành công!
- Thiết lập SMTP của Gmail cho WordPress
- Hơn 39.000 trang web WordPress đã bị chuyển hướng đến các trang lừa đảo
- Code tự động lưu ảnh vào thư viện khi copy bài từ web khác
- Hướng dẫn tạo slide danh mục sản phẩm nổi bật trong WordPress bằng slick
- Tích hợp Owl Carousel Slider vào wordpress không sử dụng plugin