Skip to content

Instantly share code, notes, and snippets.

@rotisoft
Last active March 30, 2021 22:26
Show Gist options
  • Save rotisoft/487ffcc24aafcca12c7f1c4528e450bb to your computer and use it in GitHub Desktop.
Save rotisoft/487ffcc24aafcca12c7f1c4528e450bb to your computer and use it in GitHub Desktop.
WordPress WebP upload / feltoltes
/**
* Sets the extension and mime type for .webp files.
* @param array $wp_check_filetype_and_ext File data array containing 'ext', 'type', and * 'proper_filename' keys.
* @param string $file Full path to the file.
* @param string $filename The name of the file (may differ from $file due to
* $file being in a tmp directory).
* @param array $mimes Key is the file extension with value as the mime type.
*/
add_filter( 'wp_check_filetype_and_ext', 'wpse_file_and_ext_webp', 10, 4 );
function wpse_file_and_ext_webp( $types, $file, $filename, $mimes ) {
if ( false !== strpos( $filename, '.webp' ) ) { $types['ext'] = 'webp'; $types['type'] = 'image/webp'; }
return $types;
}
/**
* Adds webp filetype to allowed mimes
* @see https://codex.WordPress.org/Plugin_API/Filter_Reference/upload_mimes
* @param array $mimes Mime types keyed by the file extension regex corresponding to
* those types. 'swf' and 'exe' removed from full list. 'htm|html' also
* removed depending on '$user' capabilities. * @return array
*/
add_filter( 'upload_mimes', 'wpse_mime_types_webp' );
function wpse_mime_types_webp( $mimes ) {
$mimes['webp'] = 'image/webp'; return $mimes;
}
/**
* Source: Dave Romsey (https://wordpress.stackexchange.com/questions/323221/allowing-webp-uploads)
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment