WordPress4.7.4に自動更新、Warning: Invalid argument supplied for foreach() が出て焦った~。何とか解決!

シェアする

いつも通りに起きた、一日の始まり。何気にスマホを開いてみると・・・

スポンサーリンク

■Warning: Invalid argument supplied for foreach()

絶対に見たくない表示が、上部にありました・・・。

Warning: Invalid argument supplied for foreach()

という表示が出ています。しかも2つ。そしてなぜか、スマホでのみこの表示なんです・・・。PCでは問題なく表示されるんです。昨日の寝る直前までは大丈夫で、朝になったらこうなってました。

どう考えても夜中に、WordPress 4.7.4 に自動更新した影響っぽい。というかそれしか考えられません。さてどうしたものか・・・。

■「Invalid argument supplied for foreach()」エラーの対処法

今回のエラー表示をよくよく読んでみると「wp-includes/class-wp-post-type.php on line 634」、つまり「class-wp-post-type.php」の634行目がおかしいとわかります。最近何度かエラーを起こしたので「どこが問題か」は

FTPサーバーに入り、該当の場所のコードを確認。634行目は「foreach ( $this->taxonomies as $taxonomy ) {」という表記になってました。行数が分かりやすいように、EXCELに貼り付け。

さて、これをどう直したらいいんだ・・・。しばらく途方にくれながら、Google先生を頼りに色々と検索。

「Warning: Invalid argument supplied for foreach()」で検索するのが、最も件数表示が多いです。「class-wp-post-type エラー」とかで検索しても、なかなか出てこない。ましてや「634行目」は皆無でした。

一発で解決するとも思えないので、元々のコードをバックアップを取りながら「これかも・・・!」を634行目に入力しては表示を確かめます。これが上手くいかない・・・><

頭の中で、ドリカムのあの歌が流れてきます。

何度でも何度でも何度でも立ち上がり呼ぶよ~♪ とにかく諦めずにあらゆる方法を試します。

そんな中、こちらの記事が大変役に立ちました。

「Invalid argument supplied for foreach() …」エラーの対処法
型が配列じゃない変数でforeachを実行した時にでる「Invalid argument supplied for foreach() …」エラーの対処法を紹介します。

(array)をつけることで、後ろの表示を強制的に配列の形にする。これかも・・・!と願いながら「foreach ( (array)$this->taxonomies as $taxonomy ) {」に書き換えて保存すると・・・

スマホ表示が復活した―――!!!

WordPressが自動更新したらまた同じ症状がでそうなので、コード自体を保存しつつ、ブログでも備忘録。夕食を挟みつつ2時間ほどかかりましたが、無事に解決できてよかった・・・!

これで安心してビールを飲みつつ、またブログ道を進めそうです(^^)

参考になる記事でしたら、ぜひシェア・クリックいただけると嬉しいです!

<シェアする>

<ブログランキング>に参加しています。応援よろしくお願いします!

 にほんブログ村 ゴルフブログへ 

Facebookに、Golfunのファンページを作りました!

下の画像をクリックして「いいね」をお願いします(^^)