Принудительное удаление EXIF/IPTC метаданных при изменении размеров миниатюр в WordPress

2 февр. 2019 г., 19:30:29
Просмотры: 1.19K
Голосов: 1

Я использую Imagick с WordPress 5.0.3. Начиная с версии 4.5 WordPress использует Imagick для создания/изменения размеров миниатюр и сохраняет EXIF/IPTC метаданные (при использовании GD метаданные удаляются).

WordPress сохраняет EXIF/IPTC метаданные в миниатюрах, но я хочу создавать новые миниатюры без них, чтобы удалить метаданные. Существует фильтр image_strip_meta, но мне не удается заставить его работать так, как я хочу, чтобы удалить метаданные. Я поместил это в свой functions.php (внутри моей темы), но ничего не изменилось - новые миниатюры по-прежнему содержат метаданные:

add_filter ('image_strip_meta', false); // Также пробовал с "true"

Я читал, что в WordPress была ошибка, связанная с этим (не знаю, исправлена ли она).

Не могли бы вы подсказать, какой будет правильный способ удаления метаданных из миниатюр?

2
Комментарии

Второй параметр add_filter должен быть вызываемым. Поэтому должно быть add_filter ('image_strip_meta', '__return_true' ); Хотя по умолчанию метаданные удаляются, так что я не знаю, почему ваши миниатюры всё ещё содержат метаданные.

Nathan Johnson Nathan Johnson
2 февр. 2019 г. 19:50:00

Я попробовал ваш обновлённый код, но метаданные (exif) всё ещё присутствуют в новых миниатюрах и не удаляются. Есть идеи, почему?

Advanced SEO Advanced SEO
3 февр. 2019 г. 19:40:32
Все ответы на вопрос 1
1

Функция strip_meta в Imageick вызывается только в том случае, если хук image_strip_meta возвращает true, но на самом деле функция не удаляет все профили. Некоторые из них защищены, как видно в коде функции:

/*
     * Защита некоторых профилей от удаления по следующим причинам:
     *
     * - icc:  Информация о цветовом профиле
     * - icm:  Информация о цветовом профиле
     * - iptc: Данные об авторских правах
     * - exif: Данные об ориентации изображения
     * - xmp:  Данные об использовании прав
     */
    $protected_profiles = array(
        'icc',
        'icm',
        'iptc',
        'exif',
        'xmp',
    );
18 июл. 2019 г. 14:03:31
Комментарии

Есть ли способ удалить "exif" из protected_profiles, желательно из файла function.php моей темы, чтобы фильтр 'image_strip_meta' начал работать?

Advanced SEO Advanced SEO
10 мар. 2020 г. 09:29:00