WordPressってたまにこういうバグがあって怖いんですよ。
今回はなんと、WordPress4.4に更新してから
・既存の投稿の変更
・新規投稿
をすると、
Fatal error: An iterator cannot be used with foreach by reference in /home/users/0/lolipop.jp-523533b096601040/web/wp-includes/formatting.php on line 3896
というエラーメッセージが表示されて何もできなかったんですね。
プログラミングもHTMLもここまで全部コピペでやってきたぼくとしては致命的で、もしかしたら投稿を削除しなきゃいけない…?とか最悪のシナリオが思い浮かびました。
絶体絶命だったので助けを求めたのでした。
ロリポップ!の対応が神すぎた
ぼくが使っているレンタルサーバーはロリポップ!
なんですがここのサポートセンターに、初めて連絡したのでした。こんなバグが起きてどうすればいいかわからないです、と。
すると二日後には返事が来て、丁寧な解決策を提示いただいたのでした。それにしたがって更新すると、あれよあれよ無事元どおりに!
どうやらこれはWordPress4.4のバグだったらしくフォーラムも立ち上がっています。
提案いただいた解決策は、
・WordPress4.4.1が出るまで待つか
・バグ箇所を編集する
でした。ぼくはいてもたっても入れなかったので、以下の提案の通り編集をしました。
1.ロリポップ!FTPにログインする
2./wp-includes/formatting.php の3896行目を以下のように変更。
foreach ( $value as &$item ) {
↓
foreach ( $value as $item ) {
これだけで正常に作動するようになりました!
ロリポップ!の担当者さん、本当にすばやく丁寧に対応いただきありがとうございました!
これでコード書けない人でもWordPressを使いたかったらロリポップなら安心して使えることが証明されました。WordPressスーパービギナーは、やっぱロリポップ!をお勧めします。
追記:画像が表示されないバグ
しかしながら今度は別のバグが生じました。なんと、過去記事を編集すると画像が表示されなくなるバグです。記事の見栄えもとても悪かったので、いろいろ調べても結局いい解決策がみつからなかったので、WordePress 4.4をダウングレードしてWordPress 4.3に戻すことにしました。
参考にした記事はこちら。
FTPソフトウェアを使う必要がったので、記事中にもあるCyberduckをつかいました。
新規接続ができない場合は、こちらからFTPアクセス制限の設定を変えることが可能です。