WordPressでJSONファイルがアップロードできない時の対処法

ブログ運営中に、クイズ用の deck.json ファイルをアップロードしようとしたところ、こんなエラーが出ました。

「このファイルタイプは許可されていません」

調べてみると、WordPressの初期設定ではセキュリティ上の理由から JSONファイルはアップロード禁止 になっているとのこと。
今回はその解決方法をまとめます。


エラーの原因

WordPressは「画像(jpg, png, gif)」や「文書(pdf, docx)」など一般的なファイルしか許可していません。
一方で JSONファイルは任意のコードやデータを含む可能性があるため、標準ではブロック されています。


解決方法①:プラグインを使う(初心者向け)

一番簡単なのは WP Add Mime Types プラグインを使う方法です。

  1. 管理画面 → プラグイン → 新規追加
  2. 「WP Add Mime Types」を検索してインストール、有効化
  3. 設定 → WP Add Mime Types に進む
  4. 下のコードを追加して保存 json = application/json
  5. これで JSON ファイルのアップロードが可能になります

👉 実際にこれで deck.json をアップできました。


解決方法②:functions.phpにコードを追加(中級者向け)

プラグインを増やしたくない場合は、テーマの functions.php に以下を追加する方法もあります。

function add_file_types_to_uploads($file_types){
    $new_filetypes = array();
    $new_filetypes['json'] = 'application/json';
    return array_merge($file_types, $new_filetypes);
}
add_filter('upload_mimes', 'add_file_types_to_uploads');

注意点

  • JSONは中身によってはセキュリティリスクがあるので、信頼できるファイルだけアップロードする
  • 外部から拾ったJSONをそのまま使うのは危険
  • 自作や公式のデータを扱う場合は安心

まとめ

  • WordPressはデフォルトでJSONファイルをアップロードできない
  • WP Add Mime Types を導入すれば簡単に解決できる
  • プラグインを増やしたくない場合は、functions.phpにフィルターを追加する方法もある

「このファイルタイプは許可されていません」と出たときは、まずはMIMEタイプ設定を見直してみましょう。

タイトルとURLをコピーしました