Снятие запрета на загрузку файлов определенного типа в WordPress

Недавно появилась необходимость реализовать на сайте клиента загрузку и вывод на страницах файлов с расширением .swf. Вообще-то, я стараюсь избегать использования флеш файлов на сайтах, но в данном случае там были, так называемые 3d презентации товаров, с возможностью вращения их вокруг оси.

Для начала я попробовал добавить его в библиотеку медиафайлов и сразу же столкнулся с проблемой:

file-restriction

Как оказалось, загрузка файлов с данным разширением запрещена настройками безопасности WordPress. То же самое касается и файлов с расширением .exe и ряда других. По своему WordPress, конечно прав, но если очень нужно?

Итак, для снятия запрета на загрузку определенного типа файлов достаточно добавить в файл functions.php следующий кусок кода:

function upload_permission_fn($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','upload_permission_fn');

И, вуаля, сайт с расширением .swf успешно загружен.

file-restriction01

Если Вам необходимо загрузить файл .exe, то все что нужно сделать добавить следующую строку:

$mimes['exe'] = 'application/x-msdownload';