ブログのテーマを長年使っていた「Cocoon」から、カスタマイズ性が高くSEOにも強い「AFFINGER6(アフィンガー6)」に変更した際、トップページの上部に以下のようなエラーが表示されて焦った経験はありませんか?
【発生したエラー内容】
Warning: count(): Parameter must be an array or an object that implements Countable in 【ファイルパス】/wp-includes/post-template.php on line 321
これは、WordPressのコアファイルである wp-includes の中にある post-template.php の321行目で、count() 関数に配列以外のデータが渡されていることが原因で発生するエラーです(PHPのバージョンアップ等に伴いよく起こる現象です)。
今回は、私が実際にこのエラーを解決した手順をわかりやすく解説します。同じエラーでお困りの方はぜひ参考にしてみてください!
解決までの手順(ConoHa WING編)
サーバーに「ConoHa WING(コノハウイング)」を使用している場合のファイル編集手順を解説します。
1. ファイルマネージャーを開く
- ConoHa WINGの管理画面にログインします。
- 「サイト管理」 バナーをクリックします。
- メニュー内にある 「ファイルマネージャー」 をクリックします。
2. 該当のファイルを探す
public_htmlフォルダを開きます。- ご自身のサイト名(例:
○○○.com)のフォルダをクリックします。 - その中にある
wp-includesフォルダを開きます。 - さらにその中にある
post-template.phpを見つけ、右クリックして「コードエディター」等で開きます。
コードの修正方法
post-template.php の 321行目付近 を探し、以下のように修正します。
【修正前】
PHP
if ( $page > count( $pages ) ) // if the requested page doesn't exist
$page = count( $pages ); // give them the highest numbered page that DOES exist
【修正後】
PHP
if (is_array($pages)) {
if ( $page > count( $pages ) ) // if the requested page doesn't exist
$page = count( $pages ); // give them the highest numbered page that DOES exist
}
配列であるかどうかを判定する is_array($pages) で囲むことで、エラーが出ないように修正します。ファイルを保存してブラウザをリロード(再読み込み)すれば、トップページのエラーが綺麗に消えているはずです。
まとめ
テーマ変更やアップデートのタイミングで突然エラーが出ると焦ってしまいますが、ファイルマネージャーから該当箇所を修正するだけで無事に解決することができました。
※注意:WordPressのコアファイル(wp-includes 内のファイル)を直接編集した場合、WordPress本体のアップデートを行うとファイルが上書きされ、修正が元に戻る可能性があります。根本的な解決としてはPHPバージョンの見直しやテーマ・プラグインの互換性確認もあわせて行ってみてください。
この記事が同じエラーで困っている方の参考になれば幸いです!
