ワードプレスは、PHPという言語で作成されているシステムです。PHPには、言語のバージョンがあり、こちらも日々更新されており、サーバー側の設定で更新を適応できるレンタルサーバーがほとんどです。

PHPはバージョンによって、高速化とともに、言語の仕様が変わっている部分があり、ごく稀にプラグインやテーマに古いPHPでしか動かないコードがある場合、サイトに不具合を起こすことがございます。
こちらの修正をワードプレスドクターで行いました事例をご紹介します。

PH7へのバージョン変更に伴う プラグインExec-PHPの不具合

Exec-PHP は、PHPのプログラムコードを、直接書き込んでサイト上で実行できるプラグインですが、長らく更新が止まっており、PHPバージョン7以上で使用すると サイト全体が何も表示されない500(真っ白になる)エラーを引き起こします。

Parse error: syntax error, unexpected ‘new’ (T_NEW) in plugins/exec-php/exec-php.php on line 

のようなエラーを出力する場合もございます。

PHP7上でも動作させるようにするには、このプラグインのプログラムに含まれる
& new  という 処理を全体的に new だけに書き換えて動作検証の上プラグインにコードを置き換えていく作業が必要となります。& new という表記・処理はPHP7では使用できなくなっており、PHP7以上でエラーを引き起こし強制停止します。

ワードプレスドクターでは、様々なバージョンのPHPの仮想環境を保持しており、その仮想環境上にて、安全にプラグインの不具合を修正の上PHP7に適合させて御社サイトの本番環境に適応の上、エラーの解消を行いますことが可能です。

テーマオプションが表示されない、レイアウトが崩れる、情報の更新ができない等の不具合

PHPのバージョンを変更した後、サイトのテーマオプション関連の不具合により、サイトの設定等の調節ができなくなることもございます。
この場合サイトの表示は問題ないという事も多いです。

症状
・テーマオプションの一部ページが表示されない
・テーマオプションの一部が欠落
・テーマオプションのボタンが効かなくなり、情報が更新されない
・テーマオプションのレイアウトが崩れて、入力ができなくなったり操作できなくなったりする

この不具合は、PHPのバージョン変更に加え、ワードプレス5.2以上に更新したときに複合的な理由で発生することもあります。
一番多い原因がワードプレス5.2以降で、ワードプレス内部に搭載されているJQUERYというJAVASCRIPTのプログラムの更新された事により、テーマオプション画面でこのJQUERYを更新時や表示等に使用している場合の不具合の発生です。

複雑なバックグラウンド更新や、タブ・モーダル等の仕組みをテーマオプション画面で利用しているテーマで発生します。

解決方法としましては、ワードプレスを別のテスト用環境にうつして、背後で起こっているエラーをブラウザーに搭載している、開発ツールで調査修正したり、JQUERYのバージョンを変えてみたり、テーマの古いPHPコードのエラーを検出し直接修正するなどの方法がとられます。

WordPress のPHPのバージョンアップに伴うテーマオプションやプラグインの不具合の調査・修正のご依頼はWPドクターまでお気軽にお送りください