説明
このプラグインは、WordPress へ MIME タイプやファイル拡張子を追加します。つまり、WordPress サイトで様々なファイルをアップロードできます。
スクリーンショット
インストール
このプラグインをインストールし、有効化してください。
もし英語以外の言語をお使いの場合、ダッシュボードの更新より、翻訳データをアップデートしてください。
もしマルチサイトを有効にした場合、ネットワーク管理者の設定メニューをチェックしてください。
使用法
まず最初に、設定内の「Media Type設定」をチェックしてください。
WordPressによって許可されている MIMEタイプと拡張子のリストを見ることができます。
MIMEタイプや拡張子を追加すると、このリストの末尾に赤文字で追加されます。
MIMEタイプのリストについては、インターネット上のMIMEタイプリストを参照してください。
例:http://www.freeformatter.com/mime-types-list.html
manage_options 権限を持ったユーザーのみ、この設定が許可されています。
もし本プラグインを翻訳したい場合、 https://wordpress.org/plugins/wp-add-mime-types/ より GlotPress へ訪れてみてください。
もしマルチサイトを有効にした場合、マルチサイトネットワーク管理者は、ネットワーク管理設定メニューより MIME タイプ設定を追加、変更、削除が可能です。そして、マルチサイトネットワーク管理者あるいはサイト管理者は、マルチサイトを有効にする前の値をチェックできます(ただし変更はできません)。
FAQ
-
このプラグインで設定したにもかかわらず、WordPressのセキュリティ上の理由でファイルのアップロードに失敗する!
-
このプラグインで設定したにもかかわらず、WordPressのセキュリティ上の理由でファイルのアップロードに失敗する場合、WordPress が認識するアップロードファイルの MIME タイプが、設定した MIME タイプと異なる可能性があります。その場合、WordPressが どのようにファイルの MIME タイプを認識したかを調べる必要があります。
そこで、「メディアからファイルがアップロードされた際に、WordPressが認識したファイルタイプのデバッグ出力を有効にします。」の設定をオンにする。
で、ファイルをアップロードし、このプラグインの設定でWordPressが認識する「MIMEタイプ」を設定します。
mimeタイプの確認が終わったら、「メディアからファイルがアップロードされた際に、WordPressが認識したファイルタイプのデバッグ出力を有効にします。」の設定は必ずOFFにしてください。この設定がオンのままだと、ファイルのアップロードは機能しないためです。
参考:https://docs.google.com/presentation/d/1o4YHqP7s-EcctYSEYM2L7HLJtqhjA_mkY4VMjvTdj20/edit?usp=sharing(Googleスライド) -
メディアからアップロードしたファイルの種類を確認する方法。
-
WordPressはfinfo_file関数(wp-includes/functions.php)でファイルのMIMEタイプを認識しています。しかし、ファイルの標準 MIMEタイプとWordPressが認識しているMIMEタイプが異なる場合があります。このオプション(設定メニュー内)と「WordPress コアによるファイルの実際のファイルタイプを判別する試みを有効にします。」の両方を有効にすることで、メディアのアップロード中に、ファイルタイプが表示されるようになります。なお、両方を有効にすると、ファイルのアップロードが処理中に停止してしまうので注意が必要です。そのため、デバッグ後は必ずこのデバッグオプションを無効にしてください。
-
動作しません
-
もし、追加した MIME タイプが動作しない場合、他の MIME タイプ関連プラグインの設定を無効にするかプラグインを無効化してみてください。
たとえば、もし Media Library Assistant プラグインをインストールしている場合、プラグイン設定の Upload タグにある「Enable Upload MIME Type Support」のチェックを外してみてください。
-
このプラグインは、複数の拡張子をサポートしていますか
-
はい、バージョン 2.4.0 からサポートしています。
WordPress は、2つ以上の拡張子があった場合、ファイル名をサニタイズします。
例. ファイル名 XXX.YYY.ZZZ は、XXX_.YYY.ZZZ に変換されます。
このプラグインは、プラグインで許可した拡張子にかぎり、メディアからアップロードする際に、サニタイズされた拡張子を修正します。
例. ファイル名 XXX.YYY.ZZZ が XXX_.YYY.ZZZ にサニタイズされた場合、XXX.YYY.ZZZ に修正します。
詳細は、wp-includes/formatting.php 内の sanitize_file_name 関数を見てください。 -
設定値内でコメントアウトはできますか
-
はい。バージョン 2.3.0 以上でコメントアウトが可能です。
-
このプラグインは、WordPressコアによるファイルコンテンツに対するセキュリティチェックを回避できますか。
-
はい。WordPress コアは、バージョン 4.7.1 以降、ファイルコンテンツに対するセキュリティチェックが実装されました。
このプラグインの初期値は、このセキュリティチェックを無効化します。 -
本プラグインをマルチサイトネットワーク管理ダッシュボードより有効にした場合、どのように振る舞いますか
-
マルチサイトネットワーク管理ダッシュボードの設定が優先されます。各サイトでの設定は表示されますが、設定は反映されません。
-
マルチサイトネットワーク管理ダッシュボードより無効化あるいは削除した場合に、本プラグインはどのように振る舞いますか
-
本プラグインを各サイトで有効にした場合、各サイトの管理ダッシュボードでの設定は適応されます。
-
マルチサイトネットワーク管理ダッシュボードの設定と各サイトの管理ダッシュボードの設定は、お互いに影響を与えませんか
-
はい、各設定はそれぞれ別々に保存されます。
-
拡張子を制限することは可能ですか。
-
はい。バージョン 3.0.0 で利用可能です。
各行の先頭に -(ハイフン) を設定すると、その MIMEタイプが制限されます。
例) -bmp = image/bmp
bmp拡張子のファイルは、アップロードできなくなります。
評価
貢献者と開発者
変更履歴
3.1.1
- PHP 8.1 以降で発生する型フォーマットの不一致を修正。
- WordPress 6.6.1 と PHP 8.3.6 で動作検証済。
3.1.0
- 変数の初期化における型フォーマットの不一致の問題を修正。
- WordPress 6.4.2 と PHP 8.2.0で動作検証済み。
- WordPress 6.2+とPHP 7.4+を必要とするように変更しました。
- WordPress 6.5.2 と PHP 8.3.6 で動作検証済み。
3.0.3
- シリアライズしたデータを取得する際の警告チェックを修正しました。
3.0.2
- シリアライズデータ取得時のエラーチェックを強化。
3.0.1
- $setting データ取得時の警告を修正。
3.0.0
- 接頭辞に – (ハイフン)を入れることで、Mime タイプを制限できる機能を追加しました。もし、各行の先頭に – (ハイフン)を設定すると、その MIMEタイプが制限されます。「-bmp = image/bmp」を設定した場合、bmp 拡張子のファイルはアップロードできなくなります。
- マルチサイトにおいて出ていた警告を修正しました。
- WordPress 5.6.2 と PHP 8.0.0 で動作検証済み。
- WordPress 4.8 で動作検証済み
- WordPress 6.0で動作検証済み
2.5.8
- このプラグインを初めて有効化し、まだプラグインの設定を保存していない場合、メディアのアップロードに失敗する問題を修正しました。
2.5.7
- このプラグインのフォルダ内にある不要なフォルダ(trunk)を削除しました。この trunkフォルダの影響でバージョン2.5.6でプラグインを有効化すると、「Error: The plugin does not have a valid header」というエラーメッセージが表示されることがありました。
2.5.6
- セキュリティオプションに「メディアがファイルをアップロードした際にWordPressが認識したファイルタイプのデバッグ出力を有効にします。」を追加しました。詳しくは「よくある質問」をご覧ください。
- WordPress 5.6 と PHP 7.4 で動作検証済み。
2.5.5
- WordPress 5.0以前のバージョンで「Too few argument」というエラーが発生していた問題を修正しました。
2.5.4
- このプラグインを削除するとき、このプラグインの設定情報をデータベースから削除する機能を追加。
- 他のプラグインの関数名への影響がないように、関数名を修正。
2.5.3
- 「Undefined variable: f_exp_more2_flag」の警告について修正。
2.5.2
- このプラグインの設定に対する CSRF (クロスサイトリクエストフォージェリ) 脆弱性への対応を強化。
2.5.1
- このプラグインの設定に対する CSRF (クロスサイトリクエストフォージェリ) 脆弱性への対応を追加。
2.5.0
- WordPressコアによる、ファイルコンテンツおよびファイル名内の複数のファイル拡張子をサニタイズするためのセキュリティチェックを有効するためのセキュリティオプション項目を、管理メニューに追加しました。
- load_plugin_textdomain 関数に関連した 新しい言語設定をサポートしました。
2.4.1
- 関数の名前干渉をさけるために、remove_underscore
の名前を wpaddmimetypes_remove_underscore へ変更。 - WordPress 5.2.2 と PHP7.4 で動作検証済み
2.4.0
- 複数拡張子をサポート。ファイル名が「XXX.ZZZ」、「XXX.YYY.ZZZ」、「AAA.XXX.YYY.ZZZ」さらに多くの拡張子があったとしても、常に末尾の拡張子をピックアップします。
2.3.1
- WordPress 5.2.2 と PHP7.3 で動作検証済み。
2.3.0
- WordPress 5.0 と PHP7.2 で動作検証済み。
2.2.1
- WordPress 4.9 で動作検証しました。
2.2.0
- 設定値が空の場合に表示されていた foreach 関数の警告を修正しました。
- wp_strip_all_tags 関数を利用して、設定値の HTMLタグをエスケープしました。
- 行の # の右側は無視されます。
2.1.3
- WordPress 4.8 と PHP 7.1 で動作検証しました。
2.1.2
- explode 関数使用時における Warning が出力される問題を修正
- WordPress 4.7.2 で動作検証しました。
2.1.1
- jpg, png, pdf のような WordPress で問題のないファイルがアップロードできない問題を修正
2.1.0
- WordPress 4.7.1 で動作検証しました。
- finfo_file 問題を修正。詳細は FAQ 参照
2.0.6
- WordPress 4.7 で動作検証しました。
2.0.5
- WordPress 4.6 で動作検証しました。
2.0.4
- 管理メニューのメッセージを修正しました。
2.0.3
- 管理メニューのメッセージを修正しました。
- 追加した mime type が動作しない場合、他のプラグインの mime type 関連の設定を無効にするか、他のプラグインを無効化してみてください。
2.0.2
- Media Library Assistant プラグインとの互換性を修正しました。
2.0.1
- 設定メニューのメッセージを修正
2.0.0
- マルチサイトをサポート
- WordPress 4.5.1 で動作検証しました。
1.3.13
- WordPress 4.5 で動作検証しました。
1.3.12
- 翻訳機能を GlotPress へ移行しました。もし翻訳したければ、 https://wordpress.org/plugins/wp-add-mime-types/ より GlotPress へ訪れてみてください。
1.3.11
- 翻訳を GlotPressへ移行するための準備
1.3.10
- WordPress 4.4.2 で動作検証しました。
1.3.9
- WordPress 4.4.1 で動作検証しました。
1.3.8
- WordPress 4.4 で動作検証しました。
- 言語翻訳設定を修正しました。
1.3.7
- WordPress 4.3 で動作検証しました。
1.3.6
- load_plugin_textdomain 設定に関する問題を修正しました。
1.3.5
- load_plugin_textdomain 設定に関する問題を修正しました。
1.3.4
- WordPress 4.2.2 で動作検証しました。
1.3.3
- WordPress 4.1.1 で動作検証しました。
1.3.2
- WordPress 4.0 で動作検証しました。
1.3.1
- WordPress 3.9.1 で動作検証しました。
1.3.0
- WordPress 3.9 で動作検証しました。
1.2.1
- 言語サポートを修正しました。
1.2.0
- WordPress 3.8 で動作検証しました。
1.1.0
- WordPress 3.7.1 で動作検証しました。
1.0.1
- 初めて設定した値がない場合に、エラー表示されていた問題を修正しました。
1.0.0
- 最初のリリース。
- 言語:英語、日本語