Maison >Tutoriel CMS >WordPresse >Comment faire en sorte que WordPress prenne en charge les images au format WebP
La colonne suivante du Tutoriel WordPress vous présentera comment faire en sorte que WordPress prenne en charge les images au format WebP. J'espère que cela sera utile aux amis dans le besoin !
WordPress ne prend pas en charge le téléchargement d'images au format WebP par défaut. Ajoutez le code suivant au modèle de fonction de thème actuel function.php pour résoudre le problème de téléchargement.
function webp_filter_mime_types( $array ) { $array['webp'] = 'image/webp'; return $array; } add_filter( 'mime_types', 'webp_filter_mime_types', 10, 1 );
function webp_upload_mimes($existing_mimes) { $existing_mimes['webp'] = 'image/webp'; return $existing_mimes; } add_filter('mime_types', 'webp_upload_mimes');
Bien que vous puissiez télécharger des images au format WebP, vous ne pouvez pas voir les vignettes dans la liste des médias. En effet, WordPress utilise la fonction file_is_displayable_image() pour déterminer si la fonction wp_generate_attachment_metadata() est utilisée pour générer des données d'image. que le fichier soit une image ou non, le résultat du jugement de l'image WebP est non, donc l'opération de sauvegarde des données d'image est interrompue.
La fonction se trouve à l'adresse : wp-admin/includes/image.php Développer
La solution est d'ajouter le code suivant dans le fichier function.php du thème :
function webp_file_is_displayable_image($result, $path) { $info = @getimagesize( $path ); if($info['mime'] == 'image/webp') { $result = true; } return $result; } add_filter( 'file_is_displayable_image', 'webp_file_is_displayable_image', 10, 2 );
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);
dans le texte L'illustration est une image webp. Bien que Qiniu, Youpaiyun, Alibaba Cloud oss, Tencent Cloud cos, etc. prennent actuellement en charge WebP, nous avons constaté que les appareils Apple ne prennent pas en charge les images webp, y compris la version IOS de WeChat. être parce que WordPress ne l'a pas pris en charge. La raison des images Webp.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!