はじめに

wordpressで新規記事登録などのページで「メディアを追加」ボタンを押して表示されるダイアログがおかしくなっていたので、対応策を載せておきます。

エラーの概要と解決

メディアライブラリの一覧で画像データが表示されずに空になっている、また、「ファイルをアップロード」からファイルをアップすると「アップロード中にエラーが発生しました。後ほど再度お試しください。」のエラーが表示されました。
特にwordpress自体は弄った記憶がなかったのでサーバの環境かphpのバージョンアップなどで影響を受けたのかもしれません。

事象発生時に、wordpressのメディアタブからだと、正常に表示されていました。
そのためダイアログ表示するメディア追加だけがおかしくなっていました。

原因を調べるとズバリの記事がありました。ありがとうございます。
http://uehi.info/2014/03/post-728/

対応

wp-admin/admin-ajax.phpの以下の箇所を修正すると直りました。

修正前

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

実際に確認する時はバックアップを取って確認したほうがいいですね。

その他おすすめの備忘録

 

コメントを残す

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>