2026年7月10日
2026年7月10日
WordPressのメディアアップロードのMIMEタイプを追加する方法
はじめに
WordPressのメディアライブラリでは、デフォルトで特定のファイル形式(MIMEタイプ)のみをサポートしています。しかし、サイトによってはこれらの既定の設定が不足することがあります。たとえば、独自の画像形式や特別なテキスト形式などをアップロードしたい場合があります。
症状・背景
このテーマが必要になる主な場面:
- サイトで独自のファイル形式を使用している
- ユーザーから特定のファイルタイプを許可したい
- WordPressプラグインがサポートしていないMIMEタイプを使用する必要がある
- Web開発者のため、カスタマイズが必要な場合
手順・設定方法
ステップ1: wp-config.phpを使ってMIMEタイプを追加する
# wp-config.phpファイルを開く
nano /var/www/html/wp-config.php
# 以下のように新しいMIMEタイプを追加する
define('ALLOW_UNFILTERED_UPLOADS', true);
add_filter( 'upload_mimes', function($mimes) {
$mimes['mycustomtype'] = 'application/vnd.custom-type'; // ファイル拡張子とMIMEタイプのマッピング
return $mimes;
}, 10, 1);
# 必要に応じて他のMIMEタイプを追加する
ステップ2: functions.phpを使ってMIMEタイプを追加
# テーマディレクトリのfunctions.phpファイルを開く
nano /var/www/html/wp-content/themes/your-theme/functions.php
# 以下のように新しいMIMEタイプを追加する
function my_custom_mime_types($mimes) {
$mimes['mycustomtype'] = 'application/vnd.custom-type'; // ファイル拡張子とMIMEタイプのマッピング
return $mimes;
}
add_filter('upload_mimes', 'my_custom_mime_types');
ステップ3: .htaccessファイルを更新してMIMEタイプを追加
# サイトルートの.htaccessファイルを開く
nano /var/www/html/.htaccess
# 以下のように新しいMIMEタイプを追加する
<IfModule mod_mime.c>
AddType application/vnd.custom-type mycustomtype
</IfModule>
# 必要に応じて他の設定も調整する
ステップ4: MIMEタイプの変更をテストする
# テスト用のファイルを作成または取得
wget http://example.com/file.mycustomtype
# WordPressメディアライブラリからアップロードできるか確認する
wp media import file.mycustomtype --path="/var/www/html"
注意事項
- セキュリティ: 新しいMIMEタイプを追加する前に、そのファイル形式が安全であることを確認してください。
- 互換性: 追加した新しいファイル形式がすべてのブラウザやデバイスで正しく処理されるように確認してください。
- パフォーマンス: メディアライブラリに大量のファイルを追加すると、サイトの読み込み速度が低下する可能性があります。適切なキャッシュと最適化を適用することをお勧めします。
まとめ
1. wp-config.phpでの設定: サイト全体で有効にするMIMEタイプを定義できます。
2. functions.phpでのカスタマイズ: テーマやプラグインの範囲内で特定の変更を行うことができます。
3. .htaccessファイルの更新: HTTPサーバーの設定を直接変更し、より広範な制御が可能になります。
4. テストと確認: 追加したMIMEタイプが正しく機能していることを確実にするためには、実際にアップロードして動作確認を行うことが重要です。
5. セキュリティとパフォーマンス: 新しいファイル形式の追加は慎重に行い、常にサイトの安全性と速度を考慮してください。
関連記事: