Wordpress как разрешить загрузку mp4 mp3 mpeg ....

Wordpress Не загружаются или не отображаются файлы в формате mp4 mp3 mpeg - Разрешаем или запрещаем типы файлов для загрузки

1 мин
Автор PINTA IT
Wordpress как разрешить загрузку mp4 mp3 mpeg ....

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 );

Похожие публикации