絞り込み検索が実装できる便利なプラグイン「Search & Filter」
フリーなのが素敵です。
PHP7.2~でのcount()のエラー
ショートコードに書くと気が付かないですが、「do_shortcode」で表示するとエラーに遭遇します。
※ショートコードを書いたページでエラーは発生するが、ページ遷移するので表示されない、ということ。
例えば、index.phpに書いて常時表示されるようにすると、このエラーが見られます。
説明がややこしい、、、
Warning: count(): Parameter must be an array or an object that implements Countable in サイトURL/wp/wp-content/plugins/search-filter/of-taxonomy-walker.php on line 122
このメッセージが出る原因や対処の記事はけっこう見つかります。
簡単に言うと「数えられないものを数えさすな!」ということのようです。
対処
このエラーが出ても動作に影響はないので、「error_reporting(0);」で黙らせちゃってもいいですが、何となく気持ち悪いです。
ので、エラー発生場所(プラグインフォルダの「of-taxonomy-walker.php」122行目)を修正します。
//修正前
$noselected = count($this->defaults);
//修正後
if (is_countable($this)) {
$noselected = count($this->defaults);
}else{
$noselected = 1;
}
「count($this->defaults)」の部分を書き換えて対処するような記事もありますが、今例ではフィクスできません。
プラグインファイルを直接書き換えているので、「このプラグインだけ更新を表示させない」などの対処が必要です。