Obsługa plików WebP w WordPress
Taki temat na dzisiaj. Format grafiki WebP zyskuje szybko popularność, głównie za sprawą zaleceń w wynikach PageSpeed. Jest wiele wtyczek, które dodają w WordpPress możliwość obsługi grafiki w formacie WebP. Niestety większość to spore rozwiązania, które zapewniają konwersję wgranych już plików jpg i png, albo zmianę ich podczas dodawania.
A ja chcę jedynie umożliwić wysyłanie i wyświetlanie zdjęć w formacie WebP. To dość proste. WordPress nie obsługuje natywnie przeglądania i przesyłania plików WebP, ale wyjaśnię ci, jak możesz to zrobić w kilku prostych krokach. Podobnie jak przy innych formatach, np. svg wykorzystamy filtr mime_types. Oczywicie odpowiedni kod dodajemy w pliku functions.php.
function webp_upload_mimes($existing_mimes) {
$existing_mimes['webp'] = 'image/webp';
return $existing_mimes;
}
add_filter('mime_types', 'webp_upload_mimes');
Jeśli chcesz zobaczyć podgląd obrazu (miniatury) po przejściu do Media, musisz dodać poniższy kod poniżej w tym samym pliku functions.php.
function webp_is_displayable($result, $path) {
if ($result === false) {
$displayable_image_types = array( IMAGETYPE_WEBP );
$info = @getimagesize( $path );
if (empty($info)) {
$result = false;
} elseif (!in_array($info[2], $displayable_image_types)) {
$result = false;
} else {
$result = true;
}
}
return $result;
}
add_filter('file_is_displayable_image', 'webp_is_displayable', 10, 2);