PHP7系では数値型エラーが出力されてしまう
WordPress に標準搭載されている RSS を出力する関数や、それを利用したプラグインを使用している場合、エラーログを確認したほうが良いです。
PHP5.x では出力されませんでしたが、PHP7.x では以下のようなエラーを常に出力し続けている可能性があります。
PHP Warning: A non-numeric value encountered in /[ドキュメントルート]/wp-includes/SimplePie/Parse/Date.php on line 694
PHP 7.x では数値形式ではない文字列を使って、数値を期待する演算 (+ – * / ** % << >> | & ^ や、これらを用いた代入演算) を行おうとしたときに、 E_WARNING あるいは E_NOTICE レベルのエラーが発生するようになりました。
実際に『/wp-includes/SimplePie/Parse/Date.php』 694行目の以下の箇所がエラーとなっていました。
$second = round($match[6] + $match[7] / pow(10, strlen($match[7])));
変数の先頭に『(int)』を挿入して、以下のように修正したら無事直りました。
$second = round((int)$match[6] + (int)$match[7] / pow(10, strlen((int)$match[7])));
コメント