Как разрешить загрузку swf через медиабиблиотеку wordpress

Как разрешить загрузку swf через медиабиблиотеку wordpress

4587
1
ПОДЕЛИТЬСЯ

2015-03-19 22-37-37 Скриншот экрана
Извините, тип этого файла не разрешен из соображений безопасности. Если вы увидели такую надпись в загрузчике медиафайлов вордпресс, значит Вы пытались загрузить тип файла, который либо ваша тема (шаблон), либо сам wordpress отнес к разряду небезопасных.
В этот разряд, попадают многие типы файлов используемые широкой общественностью при конструировании сайтов.
К примеру если вы делаете каталог программ, то знайте, EXE файл на чистый wordpress загрузить нельзя, если же Вы делаете игровой сайт с флеш-играми, то наверняка уже обнаружили, что Adobe Flash SWF так же, на чистый wordpress не грузятся через стандартный загрузчик файлов.
Для решения этой проблемы, можно воспользоваться всевозможными плагинами разрешающими загрузку, но часто такие плагины разрешают лишь один или несколько типов файлов, к тому же мы ведь не сторонники таких решений ).

Решение на самом деле очень простое. Чтобы разрешить для загрузки Adobe Flash SWF, в файл functions.php Вашей темы необходимо добавить следующий код:

function additional_mime_types($mimes) {
	if ( function_exists( 'current_user_can' ) )
		$unfiltered = $user ? user_can( $user, 'unfiltered_html' ) : current_user_can( 'unfiltered_html' );
			if ( !empty( $unfiltered ) ) {
			$mimes['swf'] = 'application/x-shockwave-flash';
			}
	return $mimes;
	}
add_filter('upload_mimes','additional_mime_types');

Если Вам необходимо разрешить другой тип файла, просто добавьте в функцию необходимые вам типы:
Image formats

$mimes['jpg|jpeg|jpe'] = 'image/jpeg';
$mimes['gif'] = 'image/gif';
$mimes['png'] = 'image/png';
$mimes['bmp'] = 'image/bmp';
$mimes['tif|tiff'] = 'image/tiff';
$mimes['ico'] = 'image/x-icon';

Video formats

$mimes['asf|asx'] = 'video/x-ms-asf';
$mimes['wmv'] = 'video/x-ms-wmv';
$mimes['wmx'] = 'video/x-ms-wmx';
$mimes['wm'] = 'video/x-ms-wm';
$mimes['avi'] = 'video/avi';
$mimes['divx'] = 'video/divx';
$mimes['flv'] = 'video/x-flv';
$mimes['mov|qt'] = 'video/quicktime';
$mimes['mpeg|mpg|mpe'] = 'video/mpeg';
$mimes['mp4|m4v'] = 'video/mp4';
$mimes['ogv'] = 'video/ogg';
$mimes['webm'] = 'video/webm';
$mimes['mkv'] = 'video/x-matroska';

Text formats

$mimes['txt|asc|c|cc|h'] = 'text/plain';
$mimes['csv'] = 'text/csv';
$mimes['tsv'] = 'text/tab-separated-values';
$mimes['ics'] = 'text/calendar';
$mimes['rtx'] = 'text/richtext';
$mimes['css'] = 'text/css';
'htm|html'] = 'text/html';

Audio formats

$mimes['mp3|m4a|m4b'] = 'audio/mpeg';
$mimes['ra|ram'] = 'audio/x-realaudio';
$mimes['wav'] = 'audio/wav';
$mimes['ogg|oga'] = 'audio/ogg';
$mimes['mid|midi'] = 'audio/midi';
$mimes['wma'] = 'audio/x-ms-wma';
$mimes['wax'] = 'audio/x-ms-wax';
$mimes['mka'] = 'audio/x-matroska';

Misc application formats

$mimes['rtf'] = 'application/rtf';
$mimes['js'] = 'application/javascript';
$mimes['pdf'] = 'application/pdf';
$mimes['swf'] = 'application/x-shockwave-flash';
$mimes['class'] = 'application/java';
$mimes['tar'] = 'application/x-tar';
$mimes['zip'] = 'application/zip';
$mimes['gz|gzip'] = 'application/x-gzip';
$mimes['rar'] = 'application/rar';
$mimes['7z'] = 'application/x-7z-compressed';
$mimes['exe'] = 'application/x-msdownload';

MS Office formats

$mimes['doc'] = 'application/msword';
$mimes['pot|pps|ppt'] = 'application/vnd.ms-powerpoint';
$mimes['wri'] = 'application/vnd.ms-write';
$mimes['xla|xls|xlt|xlw'] = 'application/vnd.ms-excel';
$mimes['mdb'] = 'application/vnd.ms-access';
$mimes['mpp'] = 'application/vnd.ms-project';
$mimes['docx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
$mimes['docm'] = 'application/vnd.ms-word.document.macroEnabled.12';
$mimes['dotx'] = 'application/vnd.openxmlformats-officedocument.wordprocessingml.template';
$mimes['dotm'] = 'application/vnd.ms-word.template.macroEnabled.12';
$mimes['xlsx'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
$mimes['xlsm'] = 'application/vnd.ms-excel.sheet.macroEnabled.12';
$mimes['xlsb'] = 'application/vnd.ms-excel.sheet.binary.macroEnabled.12';
$mimes['xltx'] = 'application/vnd.openxmlformats-officedocument.spreadsheetml.template';
$mimes['xltm'] = 'application/vnd.ms-excel.template.macroEnabled.12';
$mimes['xlam'] = 'application/vnd.ms-excel.addin.macroEnabled.12';
$mimes['pptx'] = 'application/vnd.openxmlformats-officedocument.presentationml.presentation';
$mimes['pptm'] = 'application/vnd.ms-powerpoint.presentation.macroEnabled.12';
$mimes['ppsx'] = 'application/vnd.openxmlformats-officedocument.presentationml.slideshow';
$mimes['ppsm'] = 'application/vnd.ms-powerpoint.slideshow.macroEnabled.12';
$mimes['potx'] = 'application/vnd.openxmlformats-officedocument.presentationml.template';
$mimes['potm'] = 'application/vnd.ms-powerpoint.template.macroEnabled.12';
$mimes['ppam'] = 'application/vnd.ms-powerpoint.addin.macroEnabled.12';
$mimes['sldx'] = 'application/vnd.openxmlformats-officedocument.presentationml.slide';
$mimes['sldm'] = 'application/vnd.ms-powerpoint.slide.macroEnabled.12';
$mimes['onetoc|onetoc2|onetmp|onepkg']= 'application/onenote';

OpenOffice formats

$mimes['odt'] = 'application/vnd.oasis.opendocument.text';
$mimes['odp'] = 'application/vnd.oasis.opendocument.presentation';
$mimes['ods'] = 'application/vnd.oasis.opendocument.spreadsheet';
$mimes['o dg'] = 'application/vnd.oasis.opendocument.graphics';
$mimes['odc'] = 'application/vnd.oasis.opendocument.chart';
$mimes['odb'] = 'application/vnd.oasis.opendocument.database';
$mimes['odf'] = 'application/vnd.oasis.opendocument.formula';

WordPerfect formats

$mimes['wp|wpd'] = 'application/wordperfect';

iWork formats

$mimes['key'] = 'application/vnd.apple.keynote';
$mimes['numbers'] = 'application/vnd.apple.numbers';
$mimes['pages'] = 'application/vnd.apple.pages';
comments powered by HyperComments
che
2017-10-31 13:50:58
Спасибо друг, все работает.Ты лучший.