WordPressテンプレート制作、ウェブデザイン技能検定に挑戦中

前の記事:当ブログのウェブデザイン技能検定2級過去問題解説にて、深刻な間違いがありました
HOME
次の記事:サイトの表示速度を改善、mod_pagespeedを導入

PHP7にバージョンアップするとKtai Styleでエラーが出る

WordPress

 

WordPressのバージョンを最新版にするついでに、PHPのバージョンも5から7にバージョンアップしました。例の如く、バージョンアップは私の利用しているXserverのサーバパネルからワンタッチ操作で終わりました。勉強にならないので自前のサーバでサイト運営したいなとも思っているのですが、今の環境ではなかなか。

さておき、PHP7にバージョンアップすると、PHP5と比較して処理速度が2倍前後速くなるそうです。そこだけ考えればバージョンアップしない手はないのですが、WordPressではPHP7に対応していないプラグインがエラーを出して動かなくなる恐れがあります。自分が使っていたものだと、ガラケー表示対応プラグインの「Ktai Style」が使いものにならなくなりました。

 

プラグインを利用したWordPressのガラケー表示対応

 

代替のプラグインはないかと検索を掛けても、「Ktai Styleが使えなくなった」と嘆く声ばかりがヒットします。

それならばと思い、出ているエラーを自力で一つずつ潰していくも結局解決せず。エラーが消えてサイトが表示される所までは行ったのですが、Ktai Styleで定義されているであろうスタイルシートが適用されず、改行も適用されず崩れた表示となりました。加えて言うと、サイトが表示される状態まで持っていけたのはdocomoキャリアだけで、他のキャリアの修正作業に手を出す前にさじを投げました。

エミュレータで検証した所、自分のブログはKtai Styleが無くてもガラケー表示はされるので(見れたものではありませんが)、とりあえずは今の状態のままにしておこうと思います。アクセス自体が少ないブログなのでこういう判断を採りましたが、もし、「以前のようにガラケーでもちゃんとブログを表示してほしい」という方が居ればコメントで教えてください。PHPのバージョンを落としてKtai Styleを適用します。

 

以下はPHP7のバージョンアップに際し、自力でKtai Styleのエラーを修正する方法です。何かの役に立つかもしれないので一応記録として残しておきます。前述した通り、自分の力ではKtai StyleをPHP7の環境で動かす所まで持っていけなかったので、参考にされる方はそれを踏まえた上で読まれてください。

 

 

preg_replaceのe装飾子

 

パターン装飾子e (PREG_REPLACE_EVAL) は、PHP5.5.0で非推奨となり、PHP7.0.0で削除されました。

PHPパターン修飾子についてより

 

e装飾子について

意味は分からずともPHPマニュアルの修正例を元にコードを修正する事は出来ます。

 

まずは/rarecard.jp/public_html/dummy/wp-content/plugins/ktai-style/operators/base.phpで出ているエラーから。

2016行~2019行を修正します。

 

コード修正

この調子で修正をかけていくとパターン装飾子e関連のエラーは消えます。コードの書き換えをパターン化して修正出来るようなプログラムを組まないと、プラグインに入っているファイル全てを修正するのは厳しいと思います(もちろん私はそこまでやっていません)。

 

 

start_el(&$output, $item, $depth, $args)の対処方法

 

参考リンク: 【PHP7対応】Declaration of walker::start_el(&$output, $item, $depth, $args)の対処方法

こちらも意味は理解していませんが修正例だけ見てコードを書き換えました。

 

/rarecard.jp/public_html/dummy/wp-content/plugins/ktai-style/inc/template-tags.phpのコードを修正。

コード修正2

 

 

Declaration of エラーの対応

 

コード修正3

ここまで修正しても、サイトトップに警告文が表示されていると思います。根本的な解決にはなりませんが、この警告文はphp.iniのエラー文表示の設定で制御出来ます。

参考リンク: WordPress 引っ越しでの不具合事例2 PHP Strict Standards: Declaration of エラー

 

ここで投了したので、警告文の表示制御に関しては検証もしていません。

もう長らくバージョンアップされていないので期待出来ませんが、Ktai StyleのPHP7対応か、それに替わるプラグインの登場を待ちたいと思います。

有用なプラグインが登場しない場合は、自分でガラケー表示対応のスタイルシートを実装する心構えであります。

 

||

PHP7にバージョンアップするとKtai Styleでエラーが出る

0件のコメント

コメント

カテゴリ

月別アーカイブ