WordPressのプラグイン「AddQuicktag」をインストール後に新規投稿ページで以下のWarningが表示されてしまいました。
Warning: count(): Parameter must be an array or an object that implements Countable in /home/xxx/xxxx.xxxx/public_html/wp-content/plugins/addquicktag/addquicktag.php on line 230
調べてみると二つほど解決方法がありましたので書き残しておきます。
その1 エラーを吐いてるソースファイルの箇所を修正してあげる
悪影響はないんじゃないかと思っていますが、一応ソースに手を加えるので自己責任でお願いします。
このエラー文は「関数count()の引数に設定する変数は配列かオブジェクトにしてもらえませんかね」と言っています。
ちなみにcount()は配列の要素数を数えたりするのに使います。PHP以外にもよくあるやつですね。
PHP: count – Manual
エラー文の通り、230行目の条件式に少し加えます。
if ( 1 < count( $options[ 'buttons' ] ) ) {
↓
if ( is_array ( $options[ 'buttons' ] ) && 1 < count( $options[ 'buttons' ] ) ) {
どんな処理を書き加えたかというと
count()が処理される前に、count()の引数に設定する変数が配列なのかを先に判定させました。
is_array()という関数が、変数が配列なのかを判定してくれます。
PHP: in_array – Manual
ちなみにオブジェクトかどうかも判定したいときは、is_object()という関数があります。
is_object – PHP.net
私はこれでエラーが出なくなりました。
その2 AddQuicktagで登録してあげる
単純にAddQuicktagでタグを一つも登録していなかったのがいけなかったみたいです。
一つでも登録すれば直るんじゃないかと思います。(試してない)
どうやらこのcount()のWarningですが、PHP7.2になってから他のプラグインやテーマでも出てるみたいですね…。
ゲームと攻略記事を書くのが好き。
攻略記事を書けそうなゲームを探して常に現世を彷徨っている。
コメントを残す