プログラミングの役立つ記事をお届けします

WordPress Ping Optimizerで「cbnet-ping-optimizer.php on line 533」というエラーが出るのを修正する

どうも、タカフです。

WordPressでping最適化でお世話になっているプラグイン「WordPress Ping Optimizer」がWarningメッセージを吐いていました。

Warning: count(): Parameter must be an array or an object that implements Countable in /path/to/wordpress/wp-content/plugins/wordpress-ping-optimizer/cbnet-ping-optimizer.php on line 533

どうやらPHP7.2環境で発生する模様です。

2019年4月22日現在「WordPress Ping Optimizer」のアップデートは無いようなので、ちゃちゃっと修正しちゃいましょう。

FTPクライアント等を使って、サーバー上でWordPressをインストールしているディレクトリまでいって、以下のディレクトまで行きます。

/[あなたのWordPressインストールディレクトリ]/wp-content/plugins/wordpress-ping-optimizer/

cbnet-ping-optimizer.phpをダウンロードしてきて、そのファイルをテキストエディタで開きます。

修正前コード
if (is_null($this->cbnetpo_future_pings))
	$pingCount=0;
else
	$pingCount=count($this->cbnetpo_future_pings);

533行目で配列の数などを数えるcount関数に渡すパラメータが配列やオブジェクトじゃないというエラーなので、
530行目のところを以下のように変更します。

修正後コード
if (is_null($this->cbnetpo_future_pings) || !is_array($this->cbnetpo_future_pings))
	$pingCount=0;
else
	$pingCount=count($this->cbnetpo_future_pings);

このファイル内のなかで同じ変数をis_arrayでチェックしている箇所があったのでこれでいいかと思います。

上記でダウンロードしてきたディレクトリにアップロードしましょう。

これでエラーは出なくなりました。

現場からは以上です。

コメントを残す

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