<?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));
}
}
}