Wordpress Не загружаются или не отображаются файлы в формате mp4 mp3 mpeg
Разрешить загрузку файлов в формате mp4 Решение вопроса: Фактические типы MIME:
mp3 = audio/mpeg
m4a = audio/mp4
m4b =audio/mp4
Добавьте следующий код в свой файл functions.php
function wzhang31_filter_mime_types( array $mime_types )
{
$mime_types['mp3'] = 'audio/mpeg'; // add .mp3 extension
$mime_types['m4a'] = 'audio/mp4'; // add .m4a extension
$mime_types['m4b'] = 'audio/mp4'; // add .m4b extension
// in case you want to remove an extension
// unset( $mime_types['extension you want to remove eg "mp3"'] );
return $mime_types;
}
add_filter( 'upload_mimes', 'wzhang31_filter_mime_types' );
Разрешаем или запрещаем типы файлов для загрузки
Пример ниже показывает как разрешить загрузку одних типов файлов (.doc, .djvu) и как запретить другие (.mp4a).
add_filter( 'upload_mimes', 'upload_allow_types' );
function upload_allow_types( $mimes ) {
// разрешаем новые типы
$mimes['doc'] = 'application/msword';
//$mimes['woff'] = 'font/woff';
$mimes['psd'] = 'image/vnd.adobe.photoshop';
$mimes['djv'] = 'image/vnd.djvu';
$mimes['djvu'] = 'image/vnd.djvu';
$mimes['webp'] = 'image/webp';
//$mimes['fb2'] = 'text/xml';
//$mimes['epub'] = 'application/epub+zip';
// запрещаем (отключаем) имеющиеся
// unset( $mimes['mp4a'] );
return $mimes;
}
По аналогии можно разрешать или запрещать любые другие типы файлов. См. Список MIME типов.
Как загружать SVG файлы
Тип SVG файла может меняться в зависимости от файла, поэтому с ним не все так просто. Подробнее смотрите в статье. Там же можно увидеть какие могут нестандартные ситуации могут возникнуть при разрешении загрузки запрещенных типов файлов и как их решать.
Включение права unfiltered_upload
Право unfiltered_upload
позволяет пользователям (ролям) загружать любые файлы, без проверки их типа. Это право по умолчанию есть у ролей:
- В обычном режиме: Редактор, Админ
- В режиме мультисайт: Супер-админ
Однако это право по умолчанию заблокировано, т.е. указанные роли не пройдут проверку if( current_user_can('unfiltered_upload') )
, несмотря на наличие у них такого права.
Чтобы право unfiltered_upload начало работать как ожидается, нужно в файле wp-config.php «включить» константу:
define( 'ALLOW_UNFILTERED_UPLOADS', true );