「THE THOR」でサイトをカスタマイズしているときに、
「Warning: Invalid argument supplied for foreach() ~」という謎の文字列が出ることがあります。
勘弁してくれよと思いながら解決策をググってもググってもまぁ出てこない。
あったとしても「ここのコードを直せばOKだよ!簡単だったね!!」みたいな記事ばっかりで、どうにも初心者向けじゃない。
というわけで解決法を簡潔にまとめておきますので、同じような症状が出た方は是非お試しあれ!
この記事の目次
エラーコードを直接修正する
このやり方が一番確実で、有効です。手順は以下の通り。
①自分が使用しているサーバーへ(ここではXサーバーを例に説明します)
②ログインしたら「サーバー」欄にある「ファイル管理」をクリック
すると下のような画面に変わると思います。
ここからはエラーコードに沿って、フォルダをクリックしていきます。
具体的には、
「Warning: Invalid argument supplied for foreach() in /home/○○○/×××/public_html/wp-content/themes/the-thor/inc/widget/parts_tagrank.php on line 70 」の場合、
×××→public_html→wp-content→themes→the-thor→inc→widget
とフォルダを追っていき、
parts_tagrank.php on line 70にたどり着きます。
要するに、この「parts_tagrank.php on line 70」の部分に問題がありますよ!というのが今回の要点。
エラーコード、特にline〇〇のところは人によってそれぞれですが、やり方は変わりません。
では直していきましょう。
③図の赤丸部分にチェックを入れ、黄丸の編集をクリックしてください。
④コードを編集しましょう。
エラーコードの「parts_tagrank.php on line 70」の「line 70」。
つまり、↑の画面のコードの70行目に問題となる箇所がありますので、地道に探すなり、メモやWordに張り付けて70行目にたどり着きましょう。
おそらく「foreach($term_list as $term_key=>$term)」のような部分になると思います。
次は「foreach($term_list as $term_key=>$term)」をCtrl+Fで検索をかければ一発で該当箇所にたどり着けるでしょう。
最後に、
「foreach($term_list as $term_key=>$term)」→「foreach((array)$term_list as $term_key=>$term)」と変換し、保存するをクリック。
完了です!
これでエラーは解消すると思います。
プラグインを見直す
問題が起こった時の常套手段ではありますが、今回のエラーについては「一応」効くかもしれない程度に思ってください。
万が一、1のエラーコード修正でも直らなければ試してみましょう。
「THE THOR」を使っていると度々見舞われる症状ですが、1のやり方で毎回直ってます。
そもそもならないでほしいんですがね。
「THE THOR」のバージョンアップに期待です。