Сышышь ты, выходи сюда,
поговорим !

Главная Новости

Jpeg_quality — Устанавливает качество сжатия создаваемых JPG файлов. Хук-фильтр WordPress

Опубликовано: 01.09.2018

Устанавливает качество сжатия создаваемых JPG файлов.

По умолчанию WordPress создает файлы с качеством сжатия 90%. Этот фильтр позволяет уменьшить или увеличить этот параметр.

В большинстве случаев нет необходимости изменять этот параметр. Однако, если вы хотите сэкономить на нескольких килобайтах, то было бы неплохо установить качество равное 80 или 70.

Изменение этого параметра влияет на качество только создаваемых из оригинала миниатюр, сам оригинал остается не тронутым...

Использование

add_filter( 'jpeg_quality', 'filter_function_name_11' ); function filter_function_name_11( $quality ) { return 90; }

Параметры

$quality(число) Коэффициент качества сжатия. Может быть от 0 (максимальное сжатие) - 100 (без сжатия).

Примеры

#1 Пример использования

Предположим вы фотограф и ведете свой блог. При публикации фотографий, их качество будет уменьшено, но вам нужно чтобы WordPress работал с картинками без уменьшения их качества, т.е. нам нужно 100% качество. Сделать это можно использовав хук jpeg_quality. Для этого вам нужно добавить в файл темы functions.php такой код:

function filter_function_name_11( $quality ) { return 90; } add_filter( 'jpeg_quality', 'filter_function_name_11' );

Коротко его можно записать так (для версий PHP выше 5.3):

add_filter('jpeg_quality', function($arg){ return 100; } );

Где используется хук

... * Filters the JPEG compression quality for backward-compatibility. * * Applies only during initial editor instantiation, or when set_quality() is run * manually without the `$quality` argument. * * set_quality() has priority over the filter. * * The filter is evaluated under two contexts: 'image_resize', and 'edit_image', * (when a JPEG image is saved to file). * * @since 2.5.0 * * @param int $quality Quality level between 0 (low) and 100 (high) of the JPEG. * @param string $context Context of the filter. */ $quality = apply_filters( 'jpeg_quality', $quality, 'image_resize' ); } if ( $quality < 0 || $quality > 100 ) { $quality = $this->default_quality; } } // Allow 0, but squash to 1 due to identical images in GD, and for backward compatibility. if ( 0 === $quality ) { $quality = 1; } if ( ( $quality >= 1 ) && ( $quality <= 100 ) ) { $this->quality = $quality; return true; ... ... * @param mixed $override Value to return instead of saving. Default null. * @param string $filename Name of the file to be saved. * @param WP_Image_Editor $image WP_Image_Editor instance. * @param string $mime_type Image mime type. * @param int $post_id Post ID. */ $saved = apply_filters( 'wp_save_image_file', null, $filename, $image, $mime_type, $post_id ); if ( null !== $saved ) return $saved; switch ( $mime_type ) { case 'image/jpeg': /** This filter is documented in wp-includes/class-wp-image-editor.php */ return imagejpeg( $image, $filename, apply_filters( 'jpeg_quality', 90, 'edit_image' ) ); case 'image/png': return imagepng( $image, $filename ); case 'image/gif': return imagegif( $image, $filename ); default: return false; } } } /** * Image preview ratio. Internal use only. * * @since 2.9.0 * ...
rss