Как Загрузить SVG в WordPress

Сегодня мы рассмотрим, как можно в WordPress разрешить загрузку SVG изображений, чтобы добавлять SVG через библиотеку файлов. Научимся добавлять и другие форматы, например, WEBP.

При попытке загрузить SVG в WordPress, вы увидите следующее предупреждение о невозможности добавления данного типа по соображениям безопасности.

Первое, что необходимо сделать, добавить следующую функцию в

#Разрешить загрузку svg  function allow_type($type) { $type[‘svg’] = ‘image/svg+xml’; return $type; } add_filter(‘upload_mimes’, ‘allow_type’);

Затем добавьте следующую строку в вначало ваших SVG изображений, если таковой нет.

<?xml version=»1.0″ encoding=»utf-8″?>

Если всё сделали верно, и обновили страницу, то на этот раз вы сможете загрузить SVG через библиотеку файлов.

Поддержка WEBP в WordPress

Чтобы загрузить WEBP в WordPress, предварительно добавьте следующую функцию в functions.php

#Разрешить загрузку webp  function allow_type($type) { $type[‘webp’] = ‘image/webp’; return $type; } add_filter(‘upload_mimes’, ‘allow_type’);

Как вы уже догадались, таким образом можно разрешить поддержку и загрузку других форматов:

.doc — application/msword

.psd — image/vnd.adobe.photoshop

и т.д.

Итак, мы сегодня научились разрешать загрузку SVG, чтобы иметь возможность добавления SVG изображений через библиотеку файлов/

Заменяем стандартные иконки-флаги на свои Polylang

Для использования своих иконок вместо стандартных нужно:

  1. Сохранить изображения в формате по типу “en_US.png”, то есть его название должно соответствовать локали (для украинской версии это просто — uk.png). В качестве расширений файлов допускаются: PNG, SVG, JPG.
  2. Далее создаете на FTP в директории wp-content новую папку /polylang куда и заливаете все эти иконки флажков.
  3. Затем заходите в админку в раздел “Languages” – “Settings”, где открываете пункт настроек “URL modifications” и просто сохраняете их, ничего не изменив.

На этом все. Из дополнительных подсказок/советов:

  • Создавать свою директорию /wp-content/polylang/ нужно дабы после обновления плагина изображения не перезаписались базовыми по умолчанию. Хотя, если вы используете дочернюю тему, то как я понял, картинки загружать в /polylang/flags/ вполне реально.
  • Кастомные флажки работают только во фронтенде, в админке – нет.
  • Для определения размеров SVG файлов нужно юзать фильтр pll_custom_flag (в других случаях достаточно подправить CSS):
add_filter( 'pll_custom_flag', 'pll_custom_flag', 10, 2 ); 
function pll_custom_flag( $flag, $code ) {
    $flag['url']    = "http://mysite.com/wordpress/wp-content/polylang/{$code}.svg";
    $flag['width']  = 32;
    $flag['height'] = 22;
    return $flag;
}