「WordPressのおすすめプラグインは8つだけ」に従ったらWarning出たw

WordPressのおすすめプラグインは8つだけ。断言します、で紹介されていたプラグインを入れたらサイトに英語でWarningって出た(泣)」

「Warningとか言われても意味わかんないし、こんな事になるならプラグインを入れるんじゃなかった…」

その気持ち痛いほどわかります。
このページを訪れた方は、以下のような英語のメッセージがサイトに表示されているのではないでしょうか。

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

先に言っておきますが、このメッセージが表示されたのはプラグインがPHPのバージョンアップに適応していないからです。
これらのプラグインを紹介した方が悪いわけではありません。
だからクレームとかヘイトスピーチは無しの方向でお願いします(笑)。

さて、この英語のWarningメッセージですが、今回の警告程度のエラーなら簡単に解消できます。
ただし、プラグインファイルを直接編集して対応する場合は、プラグインの更新をしたときに編集した内容が消えるリスクがあるので注意が必要です。

実際にこのサイトでもWarningが出ましたが、プラグインを直接編集することできちんと解決できました。
もし、PHPのエラー表示を見たのがはじめてだと軽くパニックになってしまいがちですが、冷静に一つずつ対応していけば正常に戻せます。
それでは解消法をどうぞ~。

エラー解消方法① プラグインファイルをいじる

まずはPHPのエラーメッセージを確認して、エラーの原因となっている箇所を探しましょう。
今回のケースで言うと「plugins/wordpress-ping-optimizer/cbnet-ping-optimizer.php on line 533」の部分がエラー原因のようです。
WordPressの管理画面からプラグインエディターを開き、対象ファイルを選択してください。

cbnet-ping-optimizer.phpの533行目の記述を次のように変更して、ファイルを更新してください。

変更前

$pingCount=count($this->cbnetpo_future_pings);
Code language: PHP (php)

変更後

$pingCount = $this->cbnetpo_future_pings ? count( $this->cbnetpo_future_pings ) : 0;
Code language: PHP (php)

これでエラーメッセージは消えているはずです。
ただし、冒頭でもお伝えしましたように、プラグインを更新すると変更した内容が消えるリスクがありますので、その時にまた同じエラーメッセージが表示されるかもしれません。
その時は今回と同じように原因を確認して、適切な対応をとっていきましょう。

エラー解消方法② プラグインを削除する

この方法が一番確実で手っ取り早く問題を解決する方法です。
その代わりに便利さを失うことになります。

プラグインを削除する方法は、該当のプラグインを一旦停止した後に削除と書かれたテキストリンクが出てくるので、それをクリックするだけです。

プラグインを直接編集することによって生じるリスク

プラグインをいじることでセキュリティに弱くなる可能性を否定できませんが、このままエラーメッセージを表示させ続ける方がリスクが大きいと私は考えます。
それなら、今回のようにエラーの原因となっている記述を正しいものに変えたり、セキュリティ対策としてWordPressのバックアップを取るとか、こまめにプラグインの更新をした方がよっぽど有意義です。


もう一度言いますが、今回の警告程度のエラーなら冷静に対処すれば簡単に解消できます。
ブログやホームページを運営していく限り、このような問題に直面することはこれからも沢山あるでしょう。
でも大丈夫。
今回の問題を乗り越えたなら、次もきっと乗り越えられます。

以上、「WordPressのおすすめプラグインは8つだけ」に従ったらWarning出たwでした~。