Khi bạn xóa sản phẩm trong woocommerce và bạn muốn xóa luôn cả hình ảnh trong thư viện, theo cách thông thường là bạn sẽ làm là xóa thủ công từng ảnh, hay sử dụng plugins scan để xóa rất mất thời, mà độ chính xác chưa chắc đã cao thì giải pháp đơn giản mà Web5s.net chia sẻ dưới đây sẽ dành cho bạn cho bạn giải quyết một cách nhanh chóng và an toàn.
Bạn mở tập tin functions.php của Theme mà bạn đang sử dụng và dán đoạn mã dưới đây vào trước khi xóa sản phẩm. Đoạn code dưới đây sẽ giúp bạn có thể xóa toàn bộ các file đính kèm, các hình ảnh ngay sau khi thực hiện việc xóa sản phẩm, xóa bài viết trong wordpress. Việc này sẽ giúp mọi người có thể giảm được dung lượng web, dọn được các file không cần thiết.
/*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.
Rất đơn giản phải không nào. Bạn kiểm tra và thử nghiệm nhé. Chúc bạn thành công !
- Cập nhật nhanh chóng 39 xu hướng content marketing mới nhất
- Xu hướng SEO năm 2024: Thay đổi nhanh để lên Rank TOP 1
- ROI của SEO là gì? Cách tính ROI trong các chiến dịch SEO
- Nguyên nhân và cách giải quyết vấn đề boot google không index nội dung
- Agency marketing là gì? Các yếu tố lựa chọn công ty agency là gì?