WordPressのメディアライブラリに何も表示されなくなった時の対処
先日、メディアライブラリに何も表示されなくなる、という不具合が発生しました。
その際の解消法についてご紹介します。
不具合の内容
・メディアライブラリに何も表示されない
・新規投稿画面の「メディアを追加」ボタンをクリックしても反応しない
・カスタム投稿の投稿タイプの選択切り替えも機能しない
解消法
プラグインを無効化してみる
プラグインを1つずつ無効にして、メディアライブラリを確認します。
弊社の場合は解消されませんでした。
wp-config.php に1行追加後、ブラウザのキャッシュをクリア
FTP ソフトでWordPressインストールディレクトリ直下にある「wp-config.php」をダウンロードします。
wp-config.php の最後に以下のコードをコピーし貼り付けます。
※wp-config.phpを編集する前に必ずバックアップをとっておきましょう。
1 |
define(‘CONCATENATE_SCRIPTS’, false); |
保存してFTPサーバーにアップします。
メディアを確認します。
ここまでは「メディアライブラリ 表示されない」等で検索すると色々なサイトで対処法として出てきた為、
最初に試しましたが弊社の場合は解消されず、
3. admin-ajax.php のコードを修正
wp-includes、wp-adminを同じWPバージョンの公式ファイルとごっそり入れ替える
等、かなり回り道しました。
結果的に、wp-config.php に1行追加後、ブラウザのキャッシュクリアを行ったところ
無事に表示されるようになりました。
表示されるようになった後は、wp-config.phpに追加した1行を削除して再アップして完了となります。
admin-ajax.php のコードを修正する
この方法も試し弊社では解消しませんでしたが、
この方法で解消した、という記事もちらほらあった為紹介します。
WordPressインストールディレクトリ/wp-admin/admin-ajax.php
をFTPよりダウンロードして以下の通りに書き変えます。
・修正前
1 |
@header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); |
・修正後
1 2 3 4 5 |
if(in_array($_POST['action'], array('query-attachments', 'send-attachment-to-editor'))){ @header('Content-Type: application/json; charset=' . get_option('blog_charset')); }else{ @header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) ); } |
今回の不具合は、何かのきっかけで管理画面のjavascriptが正常に動かなくなっていることが
原因のようでした。
なんとか解消できてよかったです。