WordPressをインストール済みのサイトでSwellへテーマ変更を行った際に以下のエラーが発生しました。
Fatal error: Uncaught Error: Call to undefined function SWELL_Theme\Utility\register_block_type_from_metadata() in /home/xxx/example.com/public_html/wp-content/themes/swell/classes/Utility/Others.php:50 Stack trace: #0 /home/xxx/example.com/public_html/wp-content/themes/swell/lib/gutenberg/register_blocks.php(64): SWELL_Theme::register_block('accordion') #1 /home/xxx/example.com/public_html/wp-content/themes/swell/lib/gutenberg/register_blocks.php(29): SWELL_Theme\Gutenberg\register_normal_blocks() #2 /home/xxx/example.com/public_html/wp-includes/class-wp-hook.php(288): SWELL_Theme\Gutenberg\register_swell_blocks('') #3 /home/xxx/example.com/public_html/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters(NULL, Array) #4 /home/xxx/example.com/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #5 /home/xxx/example.com/public_html/wp-settings.php(523): do_action('init') #6 /home/xxx/example.com/public_html/wp-config.php(94): require_once('/home/xxx/e...') #7 /home/xx in /home/xxx/example.com/public_html/wp-content/themes/swell/classes/Utility/Others.php on line 50
サイトに重大なエラーがありました。 詳細については、サイト管理者のメール受信ボックスを確認してください。
WordPress でのデバッグをさらに詳しく見る。
このときのサイトの状態は以下の状態でした。
WordPress バーション5.3.18
現在のテーマ: SWELL CHILD (バージョン 1.0.0)
現在のプラグイン: (バージョン )
PHP バージョン7.2.34
PHPのバージョンが古いかと思い、レンタルサーバーのPHPバージョンを上げたところ、エラーが表示されたままでした(エラー内容は少し変わっていました)。
Fatal error: Uncaught Error: Call to undefined function SWELL_Theme\Utility\register_block_type_from_metadata() in /home/xxx/example.com/public_html/wp-content/themes/swell/classes/Utility/Others.php:50 Stack trace: #0 /home/xxx/example.com/public_html/wp-content/themes/swell/lib/gutenberg/register_blocks.php(64): SWELL_Theme::register_block('accordion') #1 /home/xxx/example.com/public_html/wp-content/themes/swell/lib/gutenberg/register_blocks.php(29): SWELL_Theme\Gutenberg\register_normal_blocks() #2 /home/xxx/example.com/public_html/wp-includes/class-wp-hook.php(288): SWELL_Theme\Gutenberg\register_swell_blocks('') #3 /home/xxx/example.com/public_html/wp-includes/class-wp-hook.php(312): WP_Hook->apply_filters(NULL, Array) #4 /home/xxx/example.com/public_html/wp-includes/plugin.php(478): WP_Hook->do_action(Array) #5 /home/xxx/example.com/public_html/wp-settings.php(523): do_action('init') #6 /home/xxx/example.com/public_html/wp-config.php(94): require_once('/home/xxx/e...') #7 /home/xxx/example.com/public_html/wp-load.php(37): require_once('/home/xxx/e...') #8 /home/xxx/example.com/public_html/wp-admin/admin.php(34): require_once('/home/xxx/e...') #9 /home/xxx/example.com/public_html/wp-admin/index.php(10): require_once('/home/xxx/e...') #10 {main} thrown in /home/xxx/example.com/public_html/wp-content/themes/swell/classes/Utility/Others.php on line 50
サイトに重大なエラーがありました。 詳細については、サイト管理者のメール受信ボックスを確認してください。
WordPress でのデバッグをさらに詳しく見る。
WordPressの管理画面にログインができない状態だったので、まずPHPバージョンをアップデート前に戻しました。
そして、管理者メールアドレスに届いていたメールよりリカバリーモードでログインを行い、元々利用していたテーマを有効化しました。
この状態でPHPのアップデートを行い、WordPressのバージョンアップを行いました。
「PHPのアップデート」「WordPressのバージョンアップ」を行った状態で、Swellを有効化したところ、エラーの表示がなく通常通り有効化ができました。