WordPressで利用している「Easy FancyBox」というプラグインをバージョン1.6.3に更新したところ、WordPressの管理画面が表示されなくなりました。ウェブサーバのログを確認したところ、以下のようなエラーが出ていました。
1 |
PHP Parse error: syntax error, unexpected '[' |
調べたところ、PHP5.4以降でのみ対応している構文が使われているためだということがわかりました。
修正するには、WordPressが動いているシステムのPHPを5.4以降に更新するか、プラグインのディレクトリの inc/class-easyfancybox-admin.php の21行目の []
を array()
に変更します。
コードで見ると、修正前は以下のようになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php /** * Easy FancyBox Admin Class */ class easyFancyBox_Admin extends easyFancyBox { public static $pagehook; public static $compat_pro_min = '1.5.3'; public static $do_compat_warning = false; /*********************** ADMIN FUNCTIONS ***********************/ public static function add_settings_section() { add_settings_section('fancybox_section', __('FancyBox','easy-fancybox'), array(__CLASS__, 'settings_section'), 'media'); } public static function register_settings( $args = [] ) { if ( empty( $args ) ) $args = parent::$options; foreach ($args as $key => $value) { |
これを以下のように修正します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
<?php /** * Easy FancyBox Admin Class */ class easyFancyBox_Admin extends easyFancyBox { public static $pagehook; public static $compat_pro_min = '1.5.3'; public static $do_compat_warning = false; /*********************** ADMIN FUNCTIONS ***********************/ public static function add_settings_section() { add_settings_section('fancybox_section', __('FancyBox','easy-fancybox'), array(__CLASS__, 'settings_section'), 'media'); } public static function register_settings( $args = array() ) { if ( empty( $args ) ) $args = parent::$options; foreach ($args as $key => $value) { |
これで、管理画面が表示されるようになります。