Safe SVG

Опис

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 виконується за допомогою такої бібліотеки: https://github.com/darylldoyle/svg-sanitizer.

Оптимізація SVG здійснюється за допомогою наступної бібліотеки: https://github.com/svg/svgo.

Блоки

Цей плагін надає 1 блок.

  • Safe SVG Display the SVG icon

Встановлення

Встановіть через каталог WordPress або завантажте, розпакуйте та завантажте файли до каталогу /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;
} );

Відгуки

11.03.2026 1 reply
Needed SVG upload support, and this plugin did the job. Very lightweight and easy to use. No issues so far. Some additional settings would be nice, but overall, it’s quite solid.
21.06.2025 1 reply
Would have given a 5 star, but it seems support is missing for the taxonomy / terms section (like in categories) upload for SVG images. Keep getting an error that the upload isn’t supported. Hopefully this will be fixed in a future update. Will update once this is added. Cheers!
30.04.2025 1 reply
Great plugin! very usefull, but please can you add the possibility to add an inline SVG on the block pasting svg code? Thanks!
Прочитати всі 78 відгуків

Учасники та розробники

“Safe SVG” — проект з відкритим вихідним кодом. В розвиток плагіну внесли свій вклад наступні учасники:

Учасники

“Safe SVG” було перекладено на 29 локалізацій. Дякуємо перекладачам за їх роботу.

Перекладіть “Safe SVG” на вашу мову.

Цікавитесь розробкою?

Перегляньте код, перегляньте сховище SVN або підпишіться на журнал розробки за допомогою RSS.

Журнал змін

2.4.0 – 2025-09-22

  • Додано: Можливість завантажувати SVG-файли з більшої кількості розділів адміністративної панелі (дякуємо @stormrockwell, @darylldoyle, @wpexplorer, @smerriman, @jeffpaul, @dkotter через #279).
  • Змінено: Додано аргумент $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 (props @darylldoyle, @sudar, @georgestephanis, @dkotter, @realazizk через #268, #272).
  • Безпека: Оновлено form-data з версії 4.0.0 до 4.0.4 (props @dependabot, @faisal-alvi через #270).
  • Безпека: Оновлено tmp з 0.2.3 до 0.2.5 та @inquirer/editor з 4.2.9 до 4.2.16 (props @dependabot, @dkotter через #271).

2.3.2 – 2025-07-21

  • Виправлено: Візуальна парність між фронтендом та редактором блоків (props @s3rgiosan, @dkotter через #261, #266).
  • Змінено: Підвищено рівень WordPress, «протестовано» до версії 6.8 (props @godleman, @jeffpaul, @dkotter через #251, #254).
  • Змінено: Збільшено мінімальну підтримувану версію WordPress до 6.6 (props @godleman, @jeffpaul, @dkotter через #254).
  • Безпека: Оновлено 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 (props @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 (props @dependabot, @dkotter через #250).
  • Безпека: Оновлено http-proxy-middleware з версії 2.0.6 до 2.0.9 (props @dependabot, @iamdharmesh через #253).
  • Безпека: Оновлено express з версії 4.18.2 до 4.19.2 (props @dependabot, @dkotter через #188).
  • Безпека: Збільшено байти з версії 3.0.0 до 3.1.2 та стиснення з версії 1.7.4 до 1.8.1 (props @dependabot, @dkotter через #265).

2.3.1 – 2024-12-05

2.3.0 – 2024-11-25

2.2.6 – 2024-08-28

Переглянути історію змін тут.