Flector

Как разрешить загрузку дополнительных типов файлов?

Формат svg по умолчанию запрещен

По умолчанию в WordPress запрещена загрузка некоторых типов файлов (список всех разрешенных типов файлов смотрите здесь). Например, при попытке загрузить картинку в формате SVG движок выдаст ошибку "Извините, тип этого файла не разрешён из соображений безопасности". Эту ситуацию можно исправить с помощью небольшого кода, добавленного в файл functions.php вашей темы:

//загрузка новых типов медиафайлов start
function wph_add_mime_types($mimes) {
    $mimes['svg'] = 'image/svg+xml';
    $mimes['pls'] = 'text/playlist';
    return $mimes;
}
add_filter('upload_mimes', 'wph_add_mime_types');
//загрузка новых типов медиафайлов end

Таким способом можно добавить в разрешенные абсолютно любой тип файлов. Главное - укажите правильный формат файла (например, указать формат "text" для типа файлов "svg" будет неправильно).


Комментарии (15 комментариев)
  1. Flector:

    если у вас при обновлении до 4.7.1 вдруг перестали загружаться .docx или еще какие файлы воспользуйтесь временным фиксом:

    function wp39550_cancel_real_mime_check( $data, $file, $filename, $mimes ) {
    	$wp_filetype = wp_check_filetype( $filename, $mimes );
     
    	$ext = $wp_filetype['ext'];
    	$type = $wp_filetype['type'];
    	$proper_filename = $data['proper_filename'];
     
    	return compact( 'ext', 'type', 'proper_filename' );
    }
    add_filter('wp_check_filetype_and_ext', 'wp39550_cancel_real_mime_check',10,4);

    в 4.7.2 эту проблему обещали исправить.

  2. Denis:

    Спасибо тебе добрый человек, а то я думал у меня, что-то с руками случилось. Все работает!

  3. Роман:

    Действительно, помогло.

  4. Спасибо добрый человек=)

  5. Денис:

    Огромное СПАСИБО! Ничего не помогало, а ваше решение помогло!

  6. Дмитрий:

    Не работает(((

    • Flector:

      для каких именно файлов у вас это не работает?

  7. Oleg720:

    Как разрешить загрузку всех типов файлов?

Написать комментарий

Для вставки кода воспользуйтесь кнопкой "Код". Используйте предпросмотр!