Файловый менеджер - Редактировать - /var/www/xthruster/html/wp-content/plugins/image-optimization/modules/optimization/components/avif-compatibility.php
Назад
<?php namespace ImageOptimization\Modules\Optimization\Components; use ImageOptimization\Classes\Image\Image_Dimensions; if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } class Avif_Compatibility { public function is_avif_supported(): bool { return in_array( 'image/avif', get_allowed_mime_types(), true ); } public function add_to_supported_types( $mime_types ) { $mime_types['avif'] = 'image/avif'; return $mime_types; } public function add_to_supported_mime_types( $mime_types ) { $mime_types['image/avif'] = 'avif'; return $mime_types; } public function mark_as_displayable( $result, $path ) { if ( str_ends_with( $path, '.avif' ) ) { return true; } return $result; } public function fix_avif_images( $metadata, $attachment_id ) { if ( empty( $metadata ) ) { return $metadata; } $attachment = get_post( $attachment_id ); if ( ! $attachment || is_wp_error( $attachment ) || 'image/avif' !== $attachment->post_mime_type ) { return $metadata; } if ( ( ! empty( $metadata['width'] ) && ( 0 !== $metadata['width'] ) ) && ( ! empty( $metadata['height'] ) && 0 !== $metadata['height'] ) ) { return $metadata; } $file = get_attached_file( $attachment_id ); if ( ! $file ) { return $metadata; } $dimensions = Image_Dimensions::get_by_path( $file ); $metadata['width'] = $dimensions->width; $metadata['height'] = $dimensions->height; if ( empty( $metadata['file'] ) ) { $metadata['file'] = _wp_relative_upload_path( $file ); } if ( empty( $metadata['sizes'] ) ) { $metadata['sizes'] = []; } return $metadata; } public function __construct() { if ( $this->is_avif_supported() ) { return; } add_filter( 'upload_mimes', [ $this, 'add_to_supported_types' ] ); add_filter( 'mime_types', [ $this, 'add_to_supported_types' ] ); add_filter( 'getimagesize_mimes_to_exts', [ $this, 'add_to_supported_mime_types' ] ); add_filter( 'file_is_displayable_image', [ $this, 'mark_as_displayable' ], 10, 2 ); add_filter( 'wp_generate_attachment_metadata', [ $this, 'fix_avif_images' ], 1, 3 ); } }
| ver. 1.4 |
Github
|
.
| PHP 7.4.3-4ubuntu2.24 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка