Hướng dẫn xóa các hình ảnh, các file đính kèm khi xóa sản phẩm, bài viết wordpress

Đoạn code dưới đây sẽ giúp anh em 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 anh em có thể giảm được dung lượng web, dọn được các file không cần thiết.

<?php
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');
?>

Các anh em copy đoạn coden này và dán vào file function nhé.

Mình nói sơ qua về đoạn function này để anh em hiểu nhé, đoạn function 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.

Chúc các bạn thành công

Last updated