mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-10-05 23:27:04 +00:00
Media: enable AVIF support.
Add support for uploading, editing and saving AVIF images when supported by the server. Add 'image/avif' to supported mime types. Correctly identify AVIF images and sizes even when PHP doesn't support AVIF. Resize uploaded AVIF files (when supported) and use for front end markup. Props adamsilverstein, lukefiretoss, ayeshrajans, navjotjsingh, Tyrannous, jb510, gregbenz, nickpagz, JavierCasares, mukesh27, yguyon, swissspidy. Fixes #51228. git-svn-id: https://develop.svn.wordpress.org/trunk@57524 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -390,6 +390,12 @@ function wp_stream_image( $image, $mime_type, $attachment_id ) {
|
||||
return imagewebp( $image, null, 90 );
|
||||
}
|
||||
return false;
|
||||
case 'image/avif':
|
||||
if ( function_exists( 'imageavif' ) ) {
|
||||
header( 'Content-Type: image/avif' );
|
||||
return imageavif( $image, null, 90 );
|
||||
}
|
||||
return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
@@ -494,6 +500,11 @@ function wp_save_image_file( $filename, $image, $mime_type, $post_id ) {
|
||||
return imagewebp( $image, $filename );
|
||||
}
|
||||
return false;
|
||||
case 'image/avif':
|
||||
if ( function_exists( 'imageavif' ) ) {
|
||||
return imageavif( $image, $filename );
|
||||
}
|
||||
return false;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -1006,7 +1006,7 @@ function file_is_valid_image( $path ) {
|
||||
* @return bool True if suitable, false if not suitable.
|
||||
*/
|
||||
function file_is_displayable_image( $path ) {
|
||||
$displayable_image_types = array( IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP, IMAGETYPE_ICO, IMAGETYPE_WEBP );
|
||||
$displayable_image_types = array( IMAGETYPE_GIF, IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_BMP, IMAGETYPE_ICO, IMAGETYPE_WEBP, IMAGETYPE_AVIF );
|
||||
|
||||
$info = wp_getimagesize( $path );
|
||||
if ( empty( $info ) ) {
|
||||
|
||||
@@ -2198,6 +2198,11 @@ function media_upload_form( $errors = null ) {
|
||||
$plupload_init['webp_upload_error'] = true;
|
||||
}
|
||||
|
||||
// Check if AVIF images can be edited.
|
||||
if ( ! wp_image_editor_supports( array( 'mime_type' => 'image/avif' ) ) ) {
|
||||
$plupload_init['avif_upload_error'] = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filters the default Plupload settings.
|
||||
*
|
||||
|
||||
@@ -1250,6 +1250,7 @@ We hope you enjoy your new site. Thanks!
|
||||
'png',
|
||||
'gif',
|
||||
'webp',
|
||||
'avif',
|
||||
// Video.
|
||||
'mov',
|
||||
'avi',
|
||||
|
||||
Reference in New Issue
Block a user