WordPress как на ладони
Мощный и не дорогой хостинг от Fornex.com

jpeg_quality хук-фильтр . WP 2.5

Устанавливает качество сжатия создаваемых 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; } );

Где вызывается хук

WP_Image_Editor::set_quality()
wp_save_image_file()
wp-includes/class-wp-image-editor.php 257
$quality = apply_filters( 'jpeg_quality', $quality, 'image_resize' );
wp-admin/includes/image-edit.php 352
return imagejpeg( $image, $filename, apply_filters( 'jpeg_quality', 90, 'edit_image' ) );

Где используется хук (в ядре WP)

Не используется.

Знакомства без регистрации Волгоград

знакомства без регистрации Волгоград

знакомств-сайт.рф

6 комментов
  • Николай

    Прекрасный сайт, спасибо;
    дизайн, конечно, можно улучшить,
    но наверное, главное не форма, а содержание!

    1
    Ответить3.4 года назад #
  • Kristina

    Кстати, я нашла интересный онлайн сервис, где можно определить или проверить качество сжатия, с каким был сохранён JPG файл: http://www.imgonline.com.ua/determine-jpeg-quality.php

    Ответить3.2 года назад #
  • kolshix455 cайт: paxtoy.com

    Все классно, кроме одного , на всех сайтах описано как работать с загружаемыми изображениями, как поменять размер в зависимости от ширины и длины, ну и общая конвертация.

    Такой вопрос: сайт изображений, на нем картинки - изменять их нельзя (качество очень важно), как сделать на странице attachment проверку вывода изображения по размеру мегабайт, если файл изображения больше 1.5 мб то выводить сжатое и добавить ссылку на исходное, а если меньше, то выводить оригинал ??

    Ответить2.2 года назад #
    • Kama7099

      Получить размер файла картинки можно так, дальше уже сделайте проверку и допишите код под нужды:

      $attach_id = 7358;
      $meta = wp_get_attachment_metadata( $attach_id );
      
      if ( isset( $meta['filesize'] ) )
      	$file_size = $meta['filesize'];
      elseif ( $file = get_attached_file( $attach_id ) )
      	if( file_exists( $file ) )
      		$file_size = filesize( $file );
      
      echo size_format( $file_size ); //> 19 KB
      Ответить2.2 года назад #
      • kolshix455 cайт: paxtoy.com

        Можно добавить к статье, что сжатие только для миниатюр, оригинал остается не тронутым, хотя выше написано "создаваемых JPG файлов" но сразу не понятно - проверял у себя на сайте, я поставил качество 20% для проверки и оригинал остался не тронутым

        Ответить1.5 года назад #
Здравствуйте, !     Войти . Зарегистрироваться