Как исправить Sorry, you are not allowed to upload this file type.?
Через медиа менеджер ни в какую не хочет загружать файлы webm
добавил в functions
function custom_upload_mimes($existing_mimes = array()) { // Добавляем формат WebM в список разрешенных $existing_mimes['webm'] = 'video/webm'; return $existing_mimes; } add_filter('upload_mimes', 'custom_upload_mimes'); |
function custom_upload_mimes($existing_mimes = array()) { // Добавляем формат WebM в список разрешенных $existing_mimes['webm'] = 'video/webm'; return $existing_mimes; } add_filter('upload_mimes', 'custom_upload_mimes');
добавил в htaccess
<IfModule mod_mime.c> AddType video/webm .webm </IfModule> |
<IfModule mod_mime.c> AddType video/webm .webm </IfModule>
поставил уже и плагин Enable Media Replace
поставил WP Extra File Types / добавил webm = video/webm
так же в конфиг добавлено
define('ALLOW_UNFILTERED_UPLOADS', true);
mp4 грузит без проблем
webm нет
сайт на годдеди, подозреваю что там где то запрет стоит
кидает ошибку при загрузке
Sorry, you are not allowed to upload this file type.
на локальном сервере стоит несколько сайтов на wp, там грузит без проблем
даже не внося настройки выше
Дополнительные вопросы
pantsarny @pantsarny https://developer.wordpress.org/reference/hooks/mi... Ответы на вопрос 0
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Ошибка
Sorry, you are not allowed to upload this file typeозначает, что WordPress не пропускает файл на этапе проверки типа. Дляwebmодногоupload_mimesиногда недостаточно, потому что WordPress дополнительно проверяет реальный MIME черезwp_check_filetype_and_ext. Особенно часто это проявляется на старых версиях WordPress, при нестандартной настройке PHP fileinfo или когда сервер отдаёт не тот MIME.Начните с минимального кода в отдельном плагине или в functions.php дочерней темы:
add_filter('upload_mimes', function ($mimes) { $mimes['webm'] = 'video/webm'; return $mimes; }); add_filter('wp_check_filetype_and_ext', function ($data, $file, $filename, $mimes) { $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); if ($ext === 'webm') { $data['ext'] = 'webm'; $data['type'] = 'video/webm'; } return $data; }, 10, 4);
После добавления кода очистите кэш и попробуйте загрузить заведомо корректный
.webm. Если не работает, проверьте, что PHP умеет определять MIME. На некоторых хостингах расширениеfileinfoотключено или работает странно. Это можно увидеть в «Инструменты → Здоровье сайта → Информация → Сервер».Строка в
.htaccessтоже полезна, но она отвечает за отдачу файла браузеру, а не за разрешение загрузки в медиабиблиотеку:<IfModule mod_mime.c> AddType video/webm .webm </IfModule><IfModule mod_mime.c> AddType video/webm .webm </IfModule>
ALLOW_UNFILTERED_UPLOADSя бы не включал без крайней необходимости. Это грубое разрешение, которое снижает безопасность, особенно если в админке работают не только доверенные администраторы. Лучше точечно разрешить нужное расширение.Если файл всё равно режется, проверьте его настоящую структуру: иногда файл имеет расширение
.webm, но внутри другой контейнер. Попробуйте пересохранить через ffmpeg:ffmpeg -i input.mp4 -c:v libvpx-vp9 -c:a libopus output.webm
Итог: для WordPress нужен фильтр MIME, иногда фильтр проверки типа, а для браузера — корректный MIME на сервере. Все три части решают разные задачи.