22. 9月 2012 · Write a comment · Categories: WEB制作 · Tags:

WP3.4.2 で Google XML Sitemaps を使おうとしたら、下記のようなエラーが出た。

Warning: Invalid argument supplied for foreach() in /path/to/wp/wp-includes/query.php on line 2762

foreach は配列を処理する関数ですが、そこに配列以外の値が入ってしまうと、PHPがこういうエラーを吐き出します。nullでも入ったんだろうか。ぬるぬる。

ということで、該当箇所を強制的に配列にします。
foreach() で渡す値の前に (array) を入れて配列へのキャスト(変換)を行えば良いわけです。
参考:PHP: 型の相互変換 – Manual

ついでに、crayon syntax highlighter でも同様のエラーが表示されました。

Warning: Invalid argument supplied for foreach() in /path/to/wp/wp-content/plugins/crayon-syntax-highlighter/crayon_wp.class.php on line 368

というわけで、こっちも該当箇所を配列として渡すように。

これで晴れてXMLが生成されました\(^O^)/


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA