WordPress メディアライブラリ グリッドが表示されない。

WordPress構築環境

WordPress バージョン 5.3.2
サーバー:Zenlogic
PHP:7.3
MySQL:5.7

インストールはサーバーのサービスを利用してインストール。
そのままの状態でもメディアライブラリのリスト表示は問題ないが、グリッド表示がローディングのまま表示されない。

原因

原因としては、プラグインやテーマなどが原因で表示されないことが多いらいしいので、一通り削除再インストールをためしたが改善しない。

/wp-admin/upload.php?mode=grid
をブラウザに表示してグリッド表示の方法を確認。
ajaxを利用し、jsonファイルからリストを取得して表示しているらしい。

admin-ajax.php の編集

/wp-admin/admin-ajax.php
27行目

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

上記の”text/html”を”application/json”に変更する必要がある。

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は便利ですがセキュリティーの問題やバグが多く、環境にもかなり左右されるのでなかなか大変です。

2件のコメント

  • 不具合の原因がわからず検索したところこちらにたどり着き、無事に解決出来ました。
    本当にありがとうございました。

  • コメントありがとうございます。
    解決できてよかったです。
    サーバーによって出る不具合が異なるのでWordPressを利用するのもなかなか難しいです。

4件のピンバック

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)