#php #wordpress #wordpress-hook
#php #wordpress #wordpress-hook
Вопрос:
Я пытаюсь использовать прогрессивный JPEG, но похоже, что WordPress не учитывает выбранный тип, который используется для отображения содержимого изображения.
Я конвертирую изображение в формате JPEG с помощью этой команды:
convert bunny.jpg -interlace plane progressive-bunny.jpg
После загрузки изображение отображается как базовый JPEG.
Я знаю, что WordPress выполняет некоторую постобработку после загрузки, и, вероятно, это основная причина, по которой изображения получаются в качестве базового JPEG, но мне интересно, есть ли способ отключить эту функцию или заставить ее соблюдать исходный тип?
Я пытался отключить оптимизацию, добавив эти две строки functions.php
, но это не работает, это только увеличивает размер загружаемых файлов.
add_filter('jpeg_quality', function($arg) {return 100;});
add_filter('wp_editor_set_quality', function($arg) {return 100;});
Ответ №1:
Я думаю, что некоторые плагины могут обрабатывать прогрессивный jpeg для своих параметров оптимизации изображений:
Когда вы загружаете изображение на WordPress:
- это создаст несколько изображений разных размеров: большие, маленькие, миниатюры … и любые другие, которые вы могли бы определить
- он также сохранит исходный файл, но я не знаю, выполняются ли какие-либо манипуляции с изображением с файлом рядом с именем файла.
- Вы проверили, является ли исходный файл по-прежнему прогрессивным jpeg? или также как-то преобразован.
Если медиа-система WordPress не поддерживает прогрессивный jpeg, плагины оптимизатора в основном будут подключаться после (или заменять) медиа-метод WordPress для выполнения собственных манипуляций с изображениями. Но это может быть много пользовательского кода, поэтому плагин может стоить того (ЕСЛИ вы уверены, что WordPress не поддерживает изначально прогрессивный jpeg и что он преобразует ваш прогрессивный jpeg в стандартный).