PHP7.2にするとKtai Styleのcount()がWarningを吐き出す件

Ktai StyleプラグインのPHP7への移行はこちらのページを見ながらやればできるのだが…

WordPressのKtai StyleをPHP 7で動作するように修正した
PHP 7 にすると処理が速くなるようなので、PHP 5 から PHP 7 にしたら WordPress のプラグインの Ktai Style がエラーを吐いたので修正してみました。Ktai Styl...

PHP7.2ではさらにcount()でカウントアップできない値を与えるとエラーになるらしいので,下記のファイルを修正してエラーを回避した。

私の環境では$argになぜかString型”more…”という値が入っていたので無理やり配列に変換したが…それで対応がよかったのかは謎です。

inc/template-tags.php
41行目

修正前

	} elseif (is_string($arg) && count($arg) == 1 && preg_match('/^\w+=/', $arg) && strpos($arg, ' ') === false) { // query striing

のカウントでエラーになる。「PHP7.2のcountにハマった話」
参考URL:https://qiita.com/masaki-ogawa/items/1671d110b2286ececd09
を参考に以下のように修正した。

修正後

	} elseif (is_string($arg) && count(is_array($arg)?$arg:Array()) == 1 && preg_match('/^\w+=/', $arg) && strpos($arg, ' ') === false) { // query striing

加えて、
admin/class.php
を変更した。

変更後

public function signon( $credentials = '', $secure_cookie = '' ) {

変更前

public function signon( $credentials = Array(), $secure_cookie = '' ) {

※モバイルのログイン画面で、文字列を連想配列に使用しているらしく、Warningが出ていましたので修正。

※他にも修正ポイントがあるかもしれませんが、ひとまず直ったと思っております。

徒然草2.0
スポンサーリンク
シェアする
gomiryoをフォローする
ごみぶろぐ

コメント

タイトルとURLをコピーしました