読者です 読者をやめる 読者になる 読者になる

TRANS

神戸のNPOやソーシャルビジネスの創業・起業のお手伝い

WordPress3.5でWrong datatype for second argument

WordPress

マルチサイトで構築したサイトを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にしてから、プラグインあたりで同じようなエラーにぶつかっている人がいるようです。