Heim  >  Artikel  >  CMS-Tutorial  >  So stellen Sie sicher, dass WordPress Bilder im WebP-Format unterstützt

So stellen Sie sicher, dass WordPress Bilder im WebP-Format unterstützt

藏色散人
藏色散人nach vorne
2020-11-05 16:16:413023Durchsuche

In der folgenden Kolumne „WordPress-Tutorial“ erfahren Sie, wie Sie dafür sorgen, dass WordPress Bilder im WebP-Format unterstützt. Ich hoffe, dass es für Freunde in Not hilfreich ist!

WordPress unterstützt das Hochladen von Bildern im WebP-Format standardmäßig nicht. Fügen Sie den folgenden Code zur aktuellen Theme-Funktionsvorlage „functions.php“ hinzu, um das Upload-Problem zu lösen.

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');
So stellen Sie sicher, dass WordPress Bilder im WebP-Format unterstütztObwohl Sie Bilder im WebP-Format hochladen können, können Sie in der Medienliste keine Miniaturansichten sehen. Dies liegt daran, dass WordPress die Funktion file_is_displayable_image() verwendet, um zu bestimmen, ob die Datei ein Bild ist, wenn Bilddaten mit der Funktion wp_generate_attachment_metadata() generiert werden. Das Ergebnis der Beurteilung des WebP-Bildes lautet „Nein“, sodass der Vorgang zum Speichern der Bilddaten unterbrochen wird.

Diese Funktion befindet sich unter: wp-admin/includes/image.php Erweitern

Die Lösung besteht darin, den folgenden Code in die Funktionen.php des Themas einzufügen:

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

Die Abbildungen im Text sind Webp-Bilder, obwohl derzeit Qiniu und Zaipai Cloud, Alibaba Cloud oss, Tencent Cloud cos usw. unterstützen alle WebP, es wurde jedoch festgestellt, dass Apple-Geräte keine WebP-Bilder unterstützen, einschließlich der IOS-Version von WeChat. Dies kann auch der Grund sein, warum WordPress WebP nicht unterstützt Bilder.

Das obige ist der detaillierte Inhalt vonSo stellen Sie sicher, dass WordPress Bilder im WebP-Format unterstützt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:zmingcx.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen