TRANG CHỦ
TIN TỨC GIỚI THIỆU LIÊN HỆ TƯ VẤN GIẢI PHÁP
Wordpress 4 phút đọc

Xóa ảnh khi xóa sản phẩm trong woocommerce nhanh nhất

Tối ưu hóa dung lượng lưu trữ: Tự động xóa ảnh khi xóa sản phẩm trong WooCommerce Trong quản trị website thương mại điện tử, việc xóa bỏ các sản phẩm không còn kinh doanh là thao tác thường xuyên. Tuy nhiên, một vấn đề kỹ thuật phổ biến là WooCommerce không tự động loại bỏ các tệp hình ảnh đính kèm trong thư viện Media khi sản phẩm bị xóa. Theo thời gian, lượng "dữ liệu rác" này sẽ chiếm dụng đáng kể dung lượng lưu t...

Biên tập Cao Văn Lương
Xóa ảnh khi xóa sản phẩm trong woocommerce nhanh nhất

Tối ưu hóa dung lượng lưu trữ: Tự động xóa ảnh khi xóa sản phẩm trong WooCommerce

Trong quản trị website thương mại điện tử, việc xóa bỏ các sản phẩm không còn kinh doanh là thao tác thường xuyên. Tuy nhiên, một vấn đề kỹ thuật phổ biến là WooCommerce không tự động loại bỏ các tệp hình ảnh đính kèm trong thư viện Media khi sản phẩm bị xóa. Theo thời gian, lượng "dữ liệu rác" này sẽ chiếm dụng đáng kể dung lượng lưu trữ trên máy chủ, gây ảnh hưởng đến hiệu suất vận hành và tốc độ sao lưu dữ liệu.

Thay vì sử dụng các plugin bên thứ ba có thể làm nặng hệ thống, đội ngũ kỹ thuật tại STAR WAR Digital Solutions khuyến nghị giải pháp can thiệp trực tiếp vào mã nguồn. Phương pháp này đảm bảo quy trình dọn dẹp diễn ra tự động, chính xác và không gây tiêu tốn tài nguyên máy chủ.

Giải pháp kỹ thuật tối ưu

Để triển khai tính năng này, bạn cần thêm đoạn mã dưới đây vào tệp functions.php của theme đang sử dụng. Chúng tôi đặc biệt khuyến nghị bạn nên thực hiện thao tác này trên Child Theme để đảm bảo tính ổn định khi cập nhật giao diện.

/* Tự động xóa ảnh đính kèm 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' );

Cơ chế vận hành của mã nguồn

Đoạn script trên tận dụng các hook và hàm cốt lõi của WordPress để thực hiện quy trình dọn dẹp tự động:

  • Hook before_delete_post: Kích hoạt hàm xử lý ngay tại thời điểm lệnh xóa sản phẩm được thực thi, đảm bảo dữ liệu đính kèm được xử lý trước khi bản ghi sản phẩm biến mất.
  • Kiểm tra Post Type: Hàm get_post_type giúp giới hạn phạm vi tác vụ chỉ áp dụng cho "product", đảm bảo an toàn cho các bài viết hoặc trang nội dung khác trên website.
  • Truy xuất và Xóa: Sử dụng get_attached_media để quét toàn bộ tệp đính kèm liên quan đến ID sản phẩm, sau đó dùng wp_delete_attachment để xóa vĩnh viễn tệp tin khỏi máy chủ.

Lưu ý về quản trị hệ thống

Việc xóa dữ liệu là thao tác không thể hoàn tác. Trước khi áp dụng bất kỳ thay đổi nào vào tệp functions.php, hãy đảm bảo bạn đã thực hiện sao lưu (backup) cơ sở dữ liệu và mã nguồn website để phòng ngừa các rủi ro phát sinh.

Việc duy trì một cơ sở dữ liệu tinh gọn là bước nền tảng để đảm bảo hệ thống vận hành trơn tru. Nếu doanh nghiệp của bạn đang gặp khó khăn trong việc tối ưu hóa hiệu suất website hoặc cần xây dựng hạ tầng thương mại điện tử chuyên nghiệp, hãy liên hệ với STAR WAR Digital Solutions để nhận được các giải pháp kỹ thuật tối ưu nhất.

STAR WAR DIGITAL SOLUTIONS

STAR WAR sẵn sàng đồng hành cùng doanh nghiệp

Thiết kế website chuyên nghiệp, ERP theo ngành và giải pháp số theo nhu cầu thực tế.

Đội ngũ STAR WAR tư vấn cấu trúc, giao diện và phương án triển khai phù hợp với mục tiêu kinh doanh của từng doanh nghiệp.