私がサブで運営していて月イチで更新しているブログに新記事を追加しようとしたら、メディアが追加できない…
テーマやプラグインもすべて更新したのに、解決しない。
考えられるすべての原因と対策方法を調べてまとめてみました。
目次
ワードプレスを最新に更新する
はい、大体ことの発端はワードプレスを最新に更新した時に訪れたりする事が少なくありません。アップデートが完璧じゃないからです。改悪ってやつです。
私もこの過去記事↓
ワードプレスにログイン出来ない時に直す方法「FTPソフト FileZilla」の使い方編
で書いた様にワードプレスを最新に更新した途端、使っているプラグインのヘッドクリーナーがエラーを起こしてしまったという話です。
とはいえ、いつまでも旧バージョンでワードプレスを使ってもいられないので最新にせざるを得ないのが現状でしょう。
とりあえず良くも悪くも最新に更新しましょう。
アップグレード(更新)ではなく、ダウングレードという解決方法もネット上では掲載されていますが、根本的な原因解決ではないので私はオススメできません。
テーマを最新に更新する
あなたの使っているワードプレステーマはwordpress公式のテーマですか?!
そうでない場合、下記の様な構図も想定できます。
- テーマとプラグインの相性が悪い
- テーマとワードプレスの最新バージョンの相性が悪い
正直上記の場合であっても、使っているワードプレスのバージョンをダウングレードする事はあまりオススメできません。
ここでは一つの原因調査として『他のワードプレステーマにしてみる』という作業をお勧めします。その上で改善しないのであれば、確実にテーマを最新に更新してしまいましょう!
プラグインを最新に更新する
プラグインが原因という可能性はかなり多くの方に該当する主要な原因の一つとして考えられます。
ワードプレスバージョンとテーマ、プラグインの更新をしたタイミングでエラーが発生する可能性が高いので正直すぐにはどれが原因が分かりません。
①と②で紹介した流れで可能性を一つ一つ潰していき、次に探る原因はプラグインという事になります。
どのプラグインを更新したかきちんと把握した上で次の④に移ってみましょう!
プラグインをすべて停止してみる
直近で更新したプラグインから順に使用停止していきましょう。ここで多くの方が解決に至るかもしれません。
そして原因のプラグインが分かったら、そのプラグインを使うのはもうやめてしまいましょう。代わりになるプログラムはいくらでもありますので、そのプラグインに固執する必要性はありません。
ここまでで解決しない場合は少々厄介です。全てのプラグインを停止してみても解決しない場合は⑤に移りましょう。
キャッシュを削除してみる
キャッシュってのはインターネット上のファイルを一時保存しておく為のものです。
(Macの場合)
なんとなく少し抵抗はありますが仕方ありません。
ここから全期間のキャッシュを削除。
/wp-includes/class-wp-image-editor-imagick.phpの階層のデータの記述を書き換えてみる
これはもう最終手段です。出来ればプログラムはいじらない方が無難ではありますが、これが原因の可能性がありますよ。
過去記事でご紹介したFTPソフトの使い方↓
FTPソフトを使ってワードプレスがインストールされているフォルダの「wp-includes」内にある「class-wp-image-editor-imagick.php」のファイルの中の記述を書き直します。
&& defined( Imagick::ALPHACHANNEL_UNDEFINED )
&& defined( Imagick::ALPHACHANNEL_OPAQUE )
このファイル内の記述を、
&& defined( ‘Imagick::ALPHACHANNEL_UNDEFINED‘ )
&& defined( ‘Imagick::ALPHACHANNEL_OPAQUE‘ )
に書き換える作業です。そう、「‘」を追加するだけです。
探せない場合は「Command」キー+「F」キーで語句検索して該当箇所を探しましょう!
専門用語がズラズラでよく分からなくても大丈夫。「’」を足す、元に戻す、それだけです。
wp-config.phpの一番下に define(‘CONCATENATE_SCRIPTS’, false );を追加する
⑥でご紹介した手順の流れで「wp-config.php」を開き記述されている全てのphp言語の一番下にdefine(‘CONCATENATE_SCRIPTS’, false );を追記します。
追記してみて解決しない様なら元どおりに削除しておきましょう!
それと⑥や⑦などの記述変更の作業を行うにあたっての理由は色々ありますがその一部から下記を抜粋してきました。
メディアライブラリの選択ウィンドウの一覧はAjaxで一覧データのJSONを取得しているが、どうも環境によってはこのレスポンスヘッダのContent-Typeが「text/html」になってしまうことが原因。
正しく動作するにはこれが「application/json」である必要がある。
正直素人が原因を全て網羅するのはかなりの困難を伴います。理解できる頃にはある程度のプログラミング知識が身についているかもしれませんが、容易な話ではないですよね!
サーバー会社に問い合わせを入れる
有料サーバーで運営しているサイトの場合は問い合わせを入れてみましょう!会社にもよりますが、サポートチームから返答が来るはずです。
私がエラーを起こしたサイトは無料サーバーでワードプレスが利用できるエックスドメインでした。無料ゆえに「お問い合わせ不可」でした。
やはりこういったトラブルに見舞われた時に有料サーバーのサポート有無の真価が発揮しますね!
まとめ
以上が解決までの手順でした。解決しましたでしょうか?!
せっかく作り込んだサイトが途中で新記事追加不能になったら勿体無さすぎです。
ここまで紹介した方法を全てやっても何をやっても駄目駄目でどうしようもない場合は記事と画像のバックアップをとって引っ越しちゃうのも選択肢としてはありだと思います。
あなたのサイトが解決することを祈っております!