Cách xóa ảnh đồng thời khi xóa sản phẩm trong woocommerce

Khi bạn xóa sản phẩm trong WooCommerce và muốn xóa hình ảnh trong thư viện, có một giải pháp đơn giản và an toàn.

Hướng dẫn xóa hình ảnh sản phẩm

Bạn hãy mở tập tin functions.php của theme bạn đang sử dụng và chèn đoạn mã sau vào trước khi xóa sản phẩm. Đoạn mã này cho phép bạn tự động xóa toàn bộ các file đính kèm và hình ảnh ngay sau khi xóa sản phẩm hoặc bài viết trong WordPress. Điều này giúp giảm dung lượng trang web và làm sạch 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' );

Đoạn mã này sẽ lấy danh sách các file đính kèm của $post_id được chỉ định, sau đó xóa từng file bằng cách sử dụng hàm wp_delete_attachment. Hàm này sẽ được gọi trước khi thực hiện xóa bài viết.

Đó là một giải pháp đơn giản, hãy kiểm tra và thử nghiệm. Chúc bạn thành công!