WordPress из соображений безопасности, не позволяет загружать различные файлы. Загрузка блокируется как по типам, так и при не соответствии загружаемого файла mime-типу. Выдавая соответствующее предупреждение.
Для управления белыми списком расширений файлов есть два хука:
- upload_mimes
- wp_check_filetype_and_ext
Разрешаем/запрещаем типы файлов
Устанавливаем плагин ProFunctions.
Добавляем следующий код:
1 2 3 4 5 6 7 8 | add_filter( 'upload_mimes', 'upload_allow_types' ); function upload_allow_types( $mimes ) { // разрешаем новые типы $mimes['doc'] = 'application/msword'; // запрещаем (отключаем) имеющиеся unset( $mimes['doc'] ); return $mimes; } |
Позволяет добавлять или убирать различные типы. Можно разрешать или запрещать любые другие типы файлов. См. Список MIME типов.
Включение права unfiltered_upload
unfiltered_upload позволяет пользователям (ролям) загружать любые файлы, без проверки их типа.
Это право по умолчанию есть у ролей:
- Администратор.
- Супер-администратор (в режиме мультисайт).
Чтобы право unfiltered_upload начало работать как ожидается, нужно в файле wp-config.php добавить константу:
1 | define( 'ALLOW_UNFILTERED_UPLOADS', true ); |
Но не всегда данный способ работает, для разрешения типа файлов необходимо воспользоваться