WordPressの管理画面の表示が崩れ、メディアライブラリに画像が表示されない!ダブルパーンチ!!

忘れないうちにメモメモφ(・∀・)ども、金髪パーマのやまだです。

事の始まりは「WP Maintenance Mode」プラグインを外した途端、管理画面のレイアウトが崩れるという不具合が発生しました。
サーバーは別で、2つ同時の公開だったので、Xserverは何事もなく公開でき、カゴヤの方で不具合が発生。

CSSが読み込まれていない感じなので、ログイン画面のソースを確認したところ
どうも、wp-admin/load-styles.phpにアクセスできていない。
管理画面のCSSはファイルではなく、wp-admin/load-styles.phpによって動的に生成されるみたい

グーグル先生に聞いてみたところ、みんなルート下のwp-config.phpに以下のコードを記載することで問題を回避していたので
こいつを追加。
define('CONCATENATE_SCRIPTS',false );

このコードは、JavaScriptの連結を無効化するものらしい
無事、表示され、各ページを確認して投稿テストなどしてみたが、
今度は、メディアライブラリがおかしなことに。

メディアライブラリのローディング画像がくるくるくるくるくるくる…いつまでたってもサムネイルが表示されない。
投稿画面からも画像挿入できない不具合が発生しました。

またグーグル先生に聞いてみたところいろいろな対策があり、いろいろ試してみたところなおりました。

  1. 本体再インストールしプラグインを更新
    →なおりません
  2. プラグインをひとつずつ停止
    →プラグインの仕業ではないことがわかった
  3. wp-admin/admin-ajax.phpの修正
    37行目辺り、修正前

    @header( 'Content-Type: text/html; charset=' . get_option( 'blog_charset' ) );
    


    修正後

    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' ) );
    }
    

    参考サイトWordPressのメディアライブラリに画像が表示されない、挿入出来ない、対処方法

    なるほど。Content-Typeが「text/html」になってしまうことが原因って「load-styles.php」の時と同じ現象だぁ・・・こちらはAjaxで一覧データのJSONを取得してるのか。
    あれ?表示されない…まさか

  4. functions.phpの空白行削除・・・なおった(これ?!)

というわけで、いろんなことして決定的な原因がよくわからないけど調べた結果
原因のひとつに、カゴヤのphp5のアップデートのタイミングと重なって、挙動が変わってしまったのかなと。
ちなみに、WordPressのバージョンは4.5.3です。

さて、今週中にワイヤーフレーム作らないと、やばいっす(=゚ω゚)ノ

この記事をシェアする