Maison > Tutoriel CMS > WordPresse > Comment faire en sorte que WordPress prenne en charge les images au format WebP

Comment faire en sorte que WordPress prenne en charge les images au format WebP

藏色散人
Libérer: 2020-11-05 16:16:41
avant
3049 Les gens l'ont consulté

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 !

Comment faire en sorte que WordPress prenne en charge les images au format WebP

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 );
Copier après la connexion
function webp_upload_mimes($existing_mimes) {
    $existing_mimes['webp'] = 'image/webp';
    return $existing_mimes;
}
add_filter('mime_types', 'webp_upload_mimes');
Copier après la connexion

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 );
Copier après la connexion
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);
Copier après la connexion

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!

Étiquettes associées:
source:zmingcx.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal