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

