Blog スタッフブログ

WEB制作

[WordPress]メディアにアップロードできる拡張子を増やす方法

WordPressに備わるメディアライブラリでは、画像やPDF、動画などをアップロードできます。

しかし、CADデータや特殊な文書ファイルなどをアップロードしようとすると、対応しておらず次のようなエラーが表示されることがあります。

これはCADファイルをアップロードしようとした場合のエラーです。

これは、WordPress側でアップロードできるファイル形式が制限されているためです。

デフォルトではJPEG、PNG、GIF、WebPなどの画像PDFWord、Excel、PowerPointなどのOffice文書MP3、WAVなどの音声MP4、MOVなどの動画ZIPファイルなどが対応しています。

プラグインを使わずにfunctions.phpを編集し、メディアライブラリにアップロードできる拡張子を追加する方法をご紹介します。

CAD、SVG、JSONをアップロードしたいケースの場合

例として、以下の拡張子をWordPressのメディアライブラリにアップロードできるようにします。

  • CADファイル:dxfdwg
  • SVGファイル:svg
  • JSONファイル:json

WordPressでアップロード可能な拡張子を追加するには、upload_mimesフィルターを使用します。

テーマ内のfunctions.phpに、以下のコードを追加してください。

function my_custom_upload_mimes($mimes)
{
     // CAD
    $mimes['dxf'] = 'application/dxf';
    $mimes['dwg'] = 'application/acad';
    // SVG
    $mimes['svg'] = 'image/svg+xml';
    // JSON
    $mimes['json'] = 'application/json';
    return $mimes;
}
add_filter('upload_mimes', 'my_custom_upload_mimes');

アップロードを許可したい拡張子と、その拡張子に対応するMIMEタイプを追加しています。

ファイルサイズの上限を超えていると、たとえ設定したとしてもアップロードはできません。