とっちゃん@nyanco! です。
今回はWordPressでアイキャッチ画像が反映されない!!またメディアライブラリが永遠にクルクル回って何も表示されない!!けど解消したよというお話です。
WordPressは原因が多岐に渡るので原因を突き止めるのに一苦労ですにゃ~
一瞬で終わる作業のはずだったのに…
とある日、すでに稼働している自社サイトのWordpressの投稿記事にアイキャッチ画像をつけるという作業が発生。
WordPressで投稿したことがある人なら分かると思いますが、投稿にアイキャッチを付ける作業なんてまぁ1分もかからない非常に簡単なものです。
さっさとやってしまおうと思い、「アイキャッチ画像を設定」からメディアライブラリに画像データをドラッグ&ドロップして「アイキャッチ画像を設定」をクリックしたところ…


あれ、アイキャッチ画像が反映されないですにゃ?

特に何もエラーも出なかったので、画像の描画に時間がかかってるのかな?と思いしばし待つも何も起こらず。
気を取り直して再度同じ作業をしてみるも同じ状況。
▼ん??そもそもアップロードはできてるよね?と思いつつ再度「アイキャッチ画像を設定」をクリックしてメディアライブラリを確認してみると…


…読み込み中っぽいのが永遠にくるくる回ってるだけで何も起きないですにゃ~
アップロードが上手くいってるようでいってない?と思い何度かドラッグ&ドロップしてみても変わらず。
画像データのサイズが大きすぎる?と思って改めて確認してみるも、80KBほどの何の変哲もないjpg画像。
試しに適当な別の画像データで試すも変わらず。
新規投稿をして再度試すも変わらず。
テーマを切り替えてみても使用中のプラグインを停止してみても変わらず…
もしかしてWordPressにちゃんとログインできてない?と思い一度ログアウトして再ログインしても変わらず…
なんかキャッシュが悪さしてる?と思いブラウザで強制リロードしてみるも変わらず…
Google Chromeブラウザだったので別のブラウザ(FireFox、Safari)で試すも変わらず……
FTPソフトでuploadsフォルダのパーミッションを確認するも異常はなさそう……
パソコンの再起動をしても変わらず……
一体何が起きてるんですかにゃーーーー
数週間ぶりに触るサイトで、以前はこんな不具合はなくアイキャッチ設定なんか一瞬でできてたのに一体何が起こったのか…
ということでGoogle先生に聞いてみることにしました(もっと早い段階で聞くべきでした)。
「文字コード」が不具合の原因だった
「Wordpress アイキャッチ 使えない」とGoogle検索しても、通り一辺倒な解決策の記事しか出てこず、「これは意外とてこずりそうだ…」と長期戦を覚悟したその時、ズバリな記事にたどり着きました!
▼下記サイト様の記事です!

有益な情報、本当にありがとうございますにゃ~
上記記事によると、今回の不具合の原因はざっくり「PHPバージョンの影響による文字コードが原因」とのこと。
…筆者の知識では残念ながら理解し切れずでしたが、解決法は実にシンプルで、「.htaccess」ファイルに下記の2行を追記するだけ。
PHP_value default_charset none
PHP_value output_handler none
「.htaccess」ファイルは記述ミスなどをすると、最悪サイトが表示されなくなったりするので編集する際は自己責任にてお願いいたします。
また、編集する前には必ず元の「.htaccess」ファイルのバックアップを取っておきましょう。
追記する場所はどこでも良さそうですが、筆者は下記のように冒頭6行の後ろにコメント付きで追記しました。
#[PHP]
php_flag mbstring.encoding_translation On
php_value mbstring.internal_encoding UTF-8
php_value mbstring.script_encoding UTF-8
php_flag magic_quotes_gpc Off
php_flag magic_quotes_runtime Off
# 文字コードが原因のメディア周り不具合対策
PHP_value default_charset none
PHP_value output_handler none
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
WordPressのテーマやバージョンによっては異なると思いますにゃ〜
カスタマイズしててももちろん同じくですにゃ〜
追記した「.htaccess」ファイルを保存してFTPソフトでアップロードしてみると…
見事に不具合が解消されました!
▼メディアライブラリには同じ画像がたくさんアップされちゃってました… ^^;

おわりに
そういえば以前にも似たような記事を書いたような…と思ったら↓これですね。
この時は苦肉の策で乗り切ってましたが、原因が本記事と同じであれば解消されるかなと思って同じ対策をやってみたところ…残念ながら解消されず。
こちらはまた別の原因のようですにゃ~
…WordPress、一筋縄ではいかない難しさを感じた出来事でした。
本記事がどなたかの参考になれば幸いです。
今回は以上となります。
最後まで読んでいただきましてありがとうございました!
それではまた〜✧٩(ˊωˋ*)و✧
コメント