WORDPRESSをPHP7にしてみた
使用しているサーバーでもPHP7が対応になったのでテストがてら酔作TVのサイトをPHP7にしてみたところ、エラー連発。
まず、SNSなどのOGPを設定してくれるプラグインWP-OGP customizedがエラー、まぁでもこのプラグインは代用が効くし最悪プラグインじゃなくても大丈夫だから問題ないのですが、改行プラグインのbrBrbrがエラーが出たのは痛かった。
改行プラグインは記事毎に使用しているので、記事レイアウトが全部ページ崩れちゃう。
これは痛い問題だと思って調べてたら、こちらのページで解決策を載せてくれていたので助かった。
brBrbrプラグインのバージョン 2.0
修正前
$brbr = preg_replace('|<blockquote([^>]*)>|i', "</p>\n<blockquote$1><p>", $brbr); $brbr = str_replace('</blockquote>', "</p></blockquote>\n<p>", $brbr); $brbr = preg_replace('/(<pre.*?>)(.*?)<\/pre>/ise', "clr_br('$0')", $brbr); $brbr = preg_replace('/(<script.*?>)(.*?)<\/script>/ise', "clr_br('$0')", $brbr); $brbr = preg_replace('/(<form.*?>)(.*?)<\/form>/ise', "clr_br('$0')", $brbr);
修正後
$brbr = preg_replace('|<blockquote([^>]*)>|i', "</p>\n<blockquote$1><p>", $brbr); $brbr = str_replace('</blockquote>', "</p></blockquote>\n<p>", $brbr); $brbr = preg_replace_callback('/()(.*?)<\/pre>/is', function($m) {return clr_br($m[0]);}, $brbr); $brbr = preg_replace_callback('/()(.*?)<\/script>/is', function($m) {return clr_br($m[0]);}, $brbr); $brbr = preg_replace_callback('/()(.*?)<\/form>/is', function($m) {return clr_br($m[0]);}, $brbr);