記事を探す方は全カテゴリーへ

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のファンページを作りました!

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

コメントを残す

メールアドレスが公開されることはありません。