Tự Động Xóa Ảnh Đính Kèm Khi Xóa Sản Phẩm

<?php
// Thêm hành động để xóa ảnh đính kèm khi xóa bài viết (sản phẩm)
add_action('before_delete_post', 'woocommerce_delete_product_attached_images', 10, 1);

function woocommerce_delete_product_attached_images($post_id) {
    global $wpdb;
    
    // Lấy tất cả các ảnh đính kèm thuộc về sản phẩm bị xóa
    $args = array(
        'post_parent' => $post_id,
        'post_type'   => 'attachment',
        'numberposts' => -1,
        'post_status' => 'any'
    );
    $attachments = get_children($args);
    
    if ($attachments) {
        foreach ($attachments as $attachment) {
            // Xóa ảnh đính kèm và các metadata liên quan
            wp_delete_attachment($attachment->ID, true);
            $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->postmeta} WHERE post_id = %d", $attachment->ID));
        }
    }
}