Как разрешить загрузку SVG и других форматов файлов в WordPress?

Как разрешить загрузку SVG и других форматов файлов в WordPress?

24 июня 2015 639

Научно-технический прогресс с каждым годом порождает на свет все новые и новые устройства. Интернет приходит туда, где всего несколько лет назад это казалось чем-то запредельным. Естественно, диапазон размеров дисплеев интернет-устройств становится все шире и шире. Кроме этого, растут и плотность пикселей, и разрешения дисплеев: Retina, 4K, 5K… Я думаю, прогресс на этом не остановится.

CodeCanyon: Лучшие SEO-плагины для WordPress
CodeCanyon: Лучшие SEO-плагины для WordPress

Что же делать веб-дизайнеру, как предусмотреть все возможные варианты отображения сайта? На помощь приходит адаптивная верстка и векторная графика. Которые вкупе творят чудеса абсолютно на любых разрешениях и плотностях. С адаптивной версткой и так все понятно — она либо есть, либо нет. А вот с загрузкой в WordPress векторной графики есть некоторые нюансы. Например, популярный формат SVG с помощью стандартного загрузчика в WordPress загрузить не получится. По причинам безопасности, он просто не даст вам этого сделать.

Как разрешить загрузку SVG и других форматов файлов в WordPress?

SVG (от англ. Scalable Vector Graphics — масштабируемая векторная графика) — язык разметки масштабируемой векторной графики, созданный Консорциумом Всемирной паутины (W3C) и входящий в подмножество расширяемого языка разметки XML, предназначен для описания двумерной векторной и смешанной векторно/растровой графики в формате XML.

Проблема решается очень просто. Открываем functions.php вашей активной темы и где-нибудь в конце вставляем такой код:

function my_myme_types($mime_types){
    $mime_types['svg'] = 'image/svg+xml'; // поддержка SVG
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Если вы вдруг захотите разрешить еще и загрузку PSD, тогда можно немного усложнить код.

function my_myme_types($mime_types){
    $mime_types['svg'] = 'image/svg+xml'; // поддержка SVG
    $mime_types['psd'] = 'image/vnd.adobe.photoshop'; // поддержка PSD
    return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);

Можно заметить, функция достаточно проста и список допустимых типов файлов можно с легкостью расширять. К примеру, можно разрешить:

  • 7-Zip — application/x-7z-compressed;
  • Adobe Portable Document Format — application/pdf;
  • BitTorrent — application/x-bittorrent;
  • M3U (Multimedia Playlist) — audio/x-mpegurl;
  • M4v — video/x-m4v;
  • Microsoft Windows Media Video — video/x-ms-wmv;
  • MPEG-4 Video — video/mp4;
  • XML (Extensible Markup Language) — application/xml.

Список всех MIME-типов можно посмотреть здесь, например.

Автор: Иван Данилин

Практикующий веб-разработчик, специализируюсь на платформе WordPress.

Комментарии

Разгоните свой WordPress

Хостинг-провайдер номер один в России — REG.RU

Подробнее