WordPress3.5でWrong datatype for second argument
マルチサイトで構築したサイトをWordPress 3.5にアップデートしてから、
Warning: in_array() [function.in-array]: Wrong datatype for second argument in /home/***/www/wp-includes/post-template.php on line 1039
というエラーを吐き出すようになってしまったので、その暫定的な解決策メモ。
エラーを吐き出す箇所は、マルチサイトの子サイトのフロントページにおける、グローバルナビゲーション。グローバルナビゲーションはこんなコード(該当箇所のみ)。
<ul> <?php switch_to_blog(1); wp_list_pages('depth=1&child_of=7678&title_li='); restore_current_blog(); ?> </ul>
メインブログにスイッチして、あるページの小ページを一覧化し、メニューっぽくしているわけです。この箇所のみ上のエラーが出現しました。それも、フロントページのみで、記事やカテゴリページでは出現せず。あるページをフロントページに固定し、そこにカスタムテンプレートをあてていたのですが、どうもそれが引っかかっているっぽい。
そのため、ページを固定するのをやめ、全く同じコードでhome.phpを作成し、アップロードしたところ、正常に動きました。仕様がなんか変わったのかな。
こういった事例はググっても見つかりませんでしたが、フォーラムでは3.5にしてから、プラグインあたりで同じようなエラーにぶつかっている人がいるようです。