Xoá hình ảnh lỗi 404 trong thư viện ảnh (media) WordPress

Có nhiều website, đặc biệt là website cũ sau khi đại tu sửa chữa hoặc đổi theme, hoặc web nhiễm mã độc bị xoá file ảnh thì khi bạn đăng nhập vào website và vào phần thư viện (Media) sẽ thấy ảnh lỗi như ảnh dưới đây.

Xoá hình ảnh lỗi 404 trong thư viện ảnh (media) WordPress

Trước tiên bạn hãy backup lại toàn bộ website lại đã, sau đó vào từng link ảnh lỗi xem ảnh thực sự lỗi hay là do code lỗi hoặc database lỗi, nếu ảnh là 404 thì bạn có thể áp dụng code dưới đây để xử lý

add_action('after_setup_theme', 'vutruso_delete_404_attachments');

function vutruso_delete_404_attachments() {
    $batch_size = 500; // Số lượng ảnh xử lý mỗi lần
    $args = array(
        'post_type'      => 'attachment',
        'posts_per_page' => $batch_size,
        'post_status'    => 'inherit',
        'fields'         => 'ids',
        'orderby'        => 'ID',
        'order'          => 'ASC',
    );

    $attachments = get_posts($args);

    if ($attachments) {
        foreach ($attachments as $attachment_id) {
            $file_path = get_attached_file($attachment_id); // Lấy đường dẫn vật lý của file
            $file_url  = wp_get_attachment_url($attachment_id); // Lấy URL của file

            // Kiểm tra file có tồn tại vật lý không
            if ($file_path && !file_exists($file_path)) {
                wp_delete_attachment($attachment_id, true);
                error_log("Deleted attachment ID: $attachment_id (File not found on server)");
            }
            // Nếu file tồn tại, kiểm tra 404 qua URL (dự phòng)
            elseif ($file_url) {
                $headers = @get_headers($file_url);
                if ($headers && strpos($headers[0], '404') !== false) {
                    wp_delete_attachment($attachment_id, true);
                    error_log("Deleted attachment ID: $attachment_id (404 Not Found)");
                }
            }
        }
    }
}

Sau khi dán code vào functions.php bạn vào thư viện và tải lại trang để chúng tìm và xoá các file ảnh bị 404 đi là xong.

Cảm ơn đã ghé thăm website, theo dõi chúng tôi trên hoặc facebook /vutruso để cập nhật nhiều tin tức hữu ích khác.

5/5 - (86 votes)

Nếu bạn thấy bài viết có ích bạn có thể chia sẻ bài viết này. Yêu cầu thêm bài viết tại đây
Đã copy
vutruso

Vũ Trụ Số chuyên cung cấp hosting cho WordPress, dịch vụ thiết kế website, quản trị website cho doanh nghiệp, các dịch vụ bảo mật website WordPress, tăng tốc website WordPress

Bài viết liên quan