Convertire le immagini in WebP

Questo snippet da inserire nel function.php del tuo tema, permette di trasformare in automatico le immagini caricate in webp, permettendo cosi un caricamento della pagina molto più rapido.

Perché usarlo?
✅ Ottimizza le immagini senza plugin aggiuntivi
✅ Migliora la velocità del sito per SEO
✅ Perfetto per la compatibilità con browser moderni

add_filter('wp_handle_upload', 'convertitore_webp');

function convertitore_webp($upload) {
    $allowed_types = ['image/jpeg', 'image/png', 'image/gif'];

    if (isset($upload['type']) && in_array($upload['type'], $allowed_types)) {
        $file_path = $upload['file'];
        $image_editor = wp_get_image_editor($file_path);

        if (!is_wp_error($image_editor)) {
            $file_info  = pathinfo($file_path);
            $dirname    = $file_info['dirname'];
            $filename   = $file_info['filename'];
            $new_file_path = $dirname . '/' . $filename . '.webp';

            // Salva l'immagine in WebP
            $saved_image = $image_editor->save($new_file_path, 'image/webp');

            if (!is_wp_error($saved_image) && file_exists($saved_image['path'])) {
                // Aggiorna i dettagli dell'immagine caricata con il nuovo file WebP
                $upload['file'] = $saved_image['path'];
                $upload['url']  = str_replace(basename($upload['url']), basename($saved_image['path']), $upload['url']);
                $upload['type'] = 'image/webp';

                // Rimuove il file originale in modo sicuro
                if (file_exists($file_path)) {
                    @unlink($file_path);
                }
            }
        }
    }
    return $upload;
}

Scopri tutti gli Snippet