wordpressブログのトップにWarning:count()~ on line 533と出てしまう問題の対策【解決しました】

エラーが表示されてしまう。

こんにちは、のくと申します。

私のブログのトップには投稿初期からなぜか、

 

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

 

と表示されてしまっていました。Warningということは「警告」を意味するわけで、わたしはとても不安でした。

この文字列の途中には、wordpress-ping-optimizerと記されていて、これはwordpressプラグインの1つです。ちなみに、このプラグインでは記事を公開したことをgoogleに伝え、アクセスアップを期待できるようになるもので、私もとりあえず入れてみたという感じでした。

 

みなさんも中にもこのプラグインを導入している方も少なくないのではないでしょうか。

 

前置きが長くなってしまいましたが、この記事では上記のエラー表示を解決する方法をまとめています。

 

素直にWarning(警告文)を訳してみた

まずはこの警告文が何を言おうとしているのかを訳してみます。

 

警告:「home/~/cbnet-ping-optimizer.php」というページの533行目では、パラメーターはアレイまたはカウントできるように実行されているオブジェクトでなくてはいけません。

 

プログラミングの用語はカタカナのまま訳しているのでもはやこれを訳したと言っていいのかわからないですが、ひとまず訳しました!

要は、当該ページの533行目をミスっているようです。私はプラグインを有効化してから何にもいじっていないので心当たりがなかったためgoogle先生に質問してみました。

 

533行目を直せば治る可能性が高い

実際、wordpress ping optimizerのコードの533行目には何が書いてあるかと言うと、

 

$pingCount=count($this->cbnetpo_future_pings);

 

と書いてあります。どうやらこれがエラーの要因のようです。しかしながら、私はPHPの勉強はまだできておらず、なぜエラーが発生するのかはわからないです。

 

そこで、googloe先生の力を借ります。

そうすると、ここのコードを書き換える方法が見つかりました。これは、wordpress ping optimizerがwordpressのPHPのバージョンを7.2にアップデートした際に発生するようです。

実際には、PHPの533行目を以下のように変えます。

 

$pingCount=count($this->cbnetpo_future_pings);

$pingCount = $this->cbnetpo_future_pings ? count( $this->cbnetpo_future_pings ) : 0;

 

こうするだけで、タイトル上部のエラーは消えます。パソコンの環境などによってこの方法では解決しない場合もあります。必ずwordpressのバックアップを取って、もし失敗しても戻れるように対策をしておきましょう。

注意すべきは、これが応急処置であるということです。詳しいことはこれから勉強するつもりなので解説できないです。申し訳ないです。

 

もう一つ表示されている…

さあ、治ったぞ。と意気揚々にプレビュー画面を見ると、なんということでしょう。

 

Warning: count(): Parameter must be an array or an object that implements Countable in /home/blognoku/blognoku.com/public_html/wp-includes/post-template.php on line 284

 

似たテイストの別のWarningが残っているではありませんか。やはり何を申しているのかさっぱりわからないのでgoogle先生に相談です。

 

んんん…なんだかよくわからない。wp-includesディレクトリのpost-template.phpの284行目がどこからアクセスすればよいのかわからない。

なのでこれはひとまず置いておこう。誰かに問い合わせて解決を図ろう。

 

おわりです。

コメント