Картинки .webp и WordPress. Расширение списка разрешенных для загрузки типов файлов

AdmiraПро WordPressLeave a Comment

Картинки .webp и WordPress. Расширяем список разрешенных для загрузки типов файлов

Редко кто размещает посты на сайте, особенно на WordPress без загрузки медиа-файлов. Однако по умолчанию можно загрузить только самые широко используемые форматы для изображений, аудио/видео и документов. Это сделано специально в целях безопасности. Загрузчик мультимедиа не позволяет, например, загружать файлы с расширением .exe(правда, такое нужно только в очень ограниченных случаях). А что делать, если нужно загружать через медиа-загрузчик не очень популярный формат, и который не разрешен?

Как раз к таким файлам относятся файлы .webp — в WordPress они не загружаются и появляется такая надпись

Конечно, по FTP залить на сайт можно все что угодно. Но это крайне неудобно, особенно когда речь идет о картинках, которых по несколько штук в каждой записи.

WordPress же через стандартный меди-загрузчик позволяет загружать только распространенные типы файлы для картинок, аудио/видео, PDF, документы Microsoft Office и OpenOffice. С полным списком разрешенных типов можно ознакомиться на официальном Codex WordPress.

Добавление исключений для дополнительных типов файлов

Безопасность является основной причиной ограниченного списка типов файлов, которые администраторы сайта могут загружать через Консоль. Но это легко можно изменить. Чтобы это сделать, нужно совсем немного кода. Пример кода, который позволит добавить новый разрешенный тип и расширение файла в WordPress, смотрите ниже.

Итак, нам нужно добавить в список разрешенных для загрузки типов файлов файлы с расширением webp (в чем из преимущества таких картинок, читайте здесь). Для этого нужно открыть файл functions.php в активной теме и добавить этот небольшой код:

function spisok_razreshennih_tipov($mime_types){
  $mime_types['webp'] = 'image/ webp '; //Добавляем расширение  webp 
  return $mime_types;
}
add_filter('upload_mimes', 'spisok_razreshennih_tipov', 1, 1);

Здесь расширение типа файла указывается в качестве ключа в ассоциированном массиве $mime_types, а MIME-тип (стандарт, описывающий передачу различных типов данных) – указывается в качестве его значения.

Расширение webp-файла имеет следующее значение MIME-типа – image/webp. С большим списком MIME-типов вы можете ознакомиться на Википедии.

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

function spisok_razreshennih_tipov($mime_types){
  $mime_types['svg'] = 'image/svg+xml'; //Добавляем расширение svg
  $mime_types['webp'] = 'image/ webp '; //Добавляем расширение  webp 
  return $mime_types;
}
add_filter('upload_mimes', 'spisok_razreshennih_tipov', 1, 1);

Теперь вы легко сможете загрузить webp-файлы через стандартный медиа-загрузчик в консоли своего сайта на WordPress.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *