どうも、タカフです。
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でチェックしている箇所があったのでこれでいいかと思います。
上記でダウンロードしてきたディレクトリにアップロードしましょう。
これでエラーは出なくなりました。
現場からは以上です。