こんにちは、たつです。
ブログにプラグインを入れている最中に、見たこともない文字の羅列がトップページに現れて焦りました。
Warning: count(): Parameter must be an array or an object that implements Countable in /home/〇〇/katotatsu.com/public_html/wp-content/plugins/wordpress-ping-optimizer/cbnet-ping-optimizer.php on line 533
英語なのでよく分からないという事態に・・・。Warningとか書いてあるし!
調べてみると、プラグインのPingOptimizerが何か不具合を起こしているということでした。
今回はこの表示を消す方法を記事にしました。
WordPressテーマJINでPingOptimizerの不具合?対処法は?

僕はこの不具合が出た時に、新しいWordpressテーマ「JIN」を使っていました。
この表示の原因はもしかしたら
- 「JIN」にあるのか?関係ないのか?
- プラグインに不具合があるのか?
- JINとPingOptimizerの互換性が悪いのか?
と、どれなのかすら分からなかったんですね。
分からないなりにも色々調べてみたのですが、どうやらJINを使っているからと言ってこの不具合が出ているとも限らない様子。
原因はプラグインの方にあったようです。
PingOptimizerの不具合の対処法①
結論から言うと、プラグイン「PingOptimizer」を「停止」させるだけで文字の羅列は消えます。
①プラグインからWordpressPingOptimizerを見つける
②「停止」をクリック

めちゃくちゃ簡単ですね。
とりあえず、停止してコードが表示されないようにしちゃいましょう。
PingOptimizerの不具合の対処法②
対処法①はめちゃくちゃ簡単ですよね。
ただプラグインを停止させるだけでいいんですから。
でもプラグインを停止させたら、そのプラグインを使っていないということになります。
「PingOptimizer」ってけっこう便利なプラグインで色んなサイトでおすすめされてなかったっけ?と思った僕は、そもそもの解決法も調べてみました。
それがPHPコードを変える方法です。
PHPコードを変えるのはリスクがあります。変える際にはWordpress側から警告もありますよね。
コードの変更を行う時は、変更前のコードをコピーするなりして保存しておきましょう。
PHPコード編集の手順
①プラグイン編集をクリック
②「WordpressPingOptimizer」を選択

③羅列にあった「533行目」までスクロールします。

この行のコードを書き換えます。
変更前
$pingCount=count($this->cbnetpo_future_pings);
変更後
$pingCount = $this->cbnetpo_future_pings ? count( $this->cbnetpo_future_pings ) : 0;
④最後に「ファイルを更新」をクリックして保存するのを忘れずに。
参考元:ワードプレス
PingOptimizerの不具合の対処法③
そもそもPingOptimizerに不具合が起こる原因はなんなのか?
上記のワードプレスサイトにも書かれていますが、原因は「PHPのバージョン」にあるようです。
PHP7.2以降のバージョンだと、今回の不具合が発生するみたいなのでPHPのバージョンを7.2よりも前に戻すことで解決できます。
PHPのバージョンを変更する方法は?
今自身が契約しているサーバーでPHPバージョンを変更することになります。
今回は僕が登録している「Xサーバー」でのPHPバージョンの変更方法を解説します。とっても簡単です!
①まずはXサーバーのインフォパネルにログインします。
②次にサーバーパネルへ移動します。図の「サーバー管理」をクリック!

③「PHP Ver.切り替え」をクリック

④切り替えたいドメインの横にある「選択する」をクリック

⑤一番新しいバージョンの一つ前の「PHP7.1.18」に変えるのが良いでしょう。

⑥最後に「変更」ボタンをクリックして終了です。
JINにPingOptimizerは不要?

PingOptimizerの不具合の対処法を紹介しました。
コードを変えればPingOptimizerのプラグインを有効化したままにできます。ですが、コードをいじるのって怖いですよね。
僕はというと、PingOptimizerのプラグインを停止しているだけで、コードは書き換えていません。
そうなるとPingOptimizerを使って無くても不便とかないの?と思われるかもしれませんが、今の所不便なことは一切ありません。
PingOptimizerは、簡単にいうとPing送信先に何度も繰り返し更新情報を送ってしまうと「スパム扱い」されることがあるのを防いでくれます。
テーマJINを使っていて更新情報の送り重複でスパムされたことは、今まで一度もありません。そしてちゃんとインデックスもされているので、JINにはPingOptimizerのプラグインは必要ありませんね。
JIN公式ページでも、推奨プラグインに「PingOptimizer」はないので使わなくてよさそうです。
まとめ
WordPressテーマJINでPingOptimizerの不具合?対処法は?
と題して解決方法を紹介しました。
テーマJINはPingOptimizerの不具合とは関係なく、不具合の原因は「PHPのバージョン」でした。
解決方法として
- ①PingOptimizerの停止
- ②プラグインコードの書き換え
- ③PHPバージョン変更
の3つがあります。
テーマにJINを使っている人は、そもそも「PingOptimizer」のプラグインは必要ありません。
他のテーマを使っている人でも、上記の方法で解決できるのではないでしょうか。
最後まで読んでいただきありがとうございました。