2026年5月20日
2026年5月20日
WordPressのメディアライブラリが開かない場合の解決方法
はじめに
投稿にアイキャッチ画像を設定しようとしたらメディアライブラリが真っ白になる、ライブラリを開いても画像が一枚も表示されない、ファイルをアップロードしようとすると「HTTPエラー」が出る。メディアライブラリの問題は様々な原因が重なることがあります。
症状・原因
メディアライブラリが開かない主な原因:
- JavaScriptエラー:プラグインやテーマのJSがメディアモーダルの初期化を妨げる
- パーマリンク設定の問題:Ajaxリクエストがうまくルーティングされない
- PHPメモリ不足:画像リストの生成時にメモリ制限に達する
- ファイルアップロード制限:
upload_max_filesizeやpost_max_sizeが小さい - ディレクトリ権限:
wp-content/uploads/への書き込み権限がない
解決手順
ステップ1:ブラウザコンソールとネットワークを確認する
1. F12 → コンソール でJSエラーを確認
2. ネットワーク タブ → メディアライブラリを開く操作をして/wp-admin/admin-ajax.phpへのリクエストを確認
3. レスポンスが-1や空の場合はnonce・権限問題
ステップ2:パーマリンクを再保存する
wp rewrite flush --hard
管理画面の 設定 → パーマリンク設定 → 「変更を保存」でも同様です。
ステップ3:プラグインを無効化して確認する
# 全プラグインを無効化
wp plugin deactivate --all
# メディアライブラリが開けたら、一つずつ有効化して原因を特定
wp plugin activate akismet
wp plugin activate woocommerce
ステップ4:ファイルアップロード制限を増やす
// wp-config.php
define('WP_MEMORY_LIMIT', '256M');
; php.ini または .htaccess (php_value で設定)
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 300
memory_limit = 256M
# .htaccess
php_value upload_max_filesize 64M
php_value post_max_size 128M
php_value memory_limit 256M
ステップ5:アップロードディレクトリの権限を確認する
# wp-content/uploads/ の権限を確認
ls -la wp-content/
# 755に修正(ディレクトリ)
chmod 755 wp-content/uploads/
chmod -R 755 wp-content/uploads/
# 所有者をWebサーバーユーザーに変更(Apache/Nginx)
chown -R www-data:www-data wp-content/uploads/
ステップ6:HTTPエラーでアップロードできない場合
// functions.php — JPEG品質を下げて大きな画像のメモリ消費を減らす
add_filter('jpeg_quality', function() { return 82; });
// 大きな画像の自動リサイズを設定
add_filter('big_image_size_threshold', function($threshold) {
return 2560; // 2560px以上は自動縮小
});
// wp-config.php — 画像処理にGDライブラリを使用(Imagickよりメモリ効率が良い場合)
define('WP_IMAGE_EDITOR_ENGINE', 'WP_Image_Editor_GD');
ステップ7:メディアライブラリのデータを修復する
# 画像のサムネイルを再生成
wp media regenerate --yes
# アタッチメントのメタデータを更新
wp eval '
$attachments = get_posts(["post_type" => "attachment", "numberposts" => -1]);
foreach ($attachments as $attachment) {
wp_update_attachment_metadata(
$attachment->ID,
wp_generate_attachment_metadata($attachment->ID, get_attached_file($attachment->ID))
);
}
echo "Done.\n";
'
注意事項
- アップロードディレクトリのパーミッションを
777に設定するのはセキュリティリスクです。755または775を使用してください。 - 画像リサイズに
Imagickを使用している場合、サーバーメモリが少ないとエラーになりやすいです。GDライブラリへの切り替えを検討してください。
まとめ
メディアライブラリが開かない場合はコンソールのJSエラー確認、パーマリンク再保存、プラグイン切り分けの順に試します。アップロードエラーはupload_max_filesizeとmemory_limitの増加、wp-content/uploads/の権限確認で解決するケースが多いです。関連記事:PHPのメモリ制限を増やす方法、ファイルパーミッションの正しい設定