Современные браузеры замечательно поддерживают векторную графику. svg-картинки суперски смотрятся на любом экране, от маленького мобильного до Retina-дисплея. Только вот wordpress «из коробки» не умеет вставлять такие картинки через форму «Добавить медиафайл». Ругается, что загрузка svg отключена по соображениям безопасности.
Конечно, никто не мешает залить файл напрямую, посредством ftp-клиента, но встроенные средства wordpress быстрее.
Во многих темах wordpress есть файл functions.php Основная цель данного файла — предоставить дополнительные функции необходимые для полноценной работы темы, а также установить некоторые параметры для ядра WordPress, например размер миниатюр, путь к файлам локализации темы, разделы для виджетов и другие.
Файл functions.php загружается при каждом запросе любой страницы в WordPress, включая запросы в панель администрирования и AJAX запросы. Это дает разработчикам темы возможность изменять любые аспекты их проекта на WordPress, а не только то, что связано с внешним видом.
Если добавить в этот файл следующую конструкцию, wordpress подружится с svg-графикой:
function codeless_file_types_to_uploads($file_types){
$new_filetypes = array();
$new_filetypes['svg'] = 'image/svg+xml';
$file_types = array_merge($file_types, $new_filetypes );
return $file_types;
}
add_filter('upload_mimes', 'codeless_file_types_to_uploads');
Поддержка SVG в WordPress 6.8
UPD 7 мая 2025 г.: После обновления на wordpress 6.8 появилась проблема — SVG-файлы перестали загружаться.
Веб -сервер не может генерировать адаптивные размеры изображений для этого изображения. Конвертируйте его в JPEG или PNG перед загрузкой.
Описание проблемы тут.
Лечится установкой плагина Safe SVG, версии начиная с 2.3.1. Плагин есть в каталоге вордпресса.