エレメントプロ更新エラー: Fatal error: Uncaught ReflectionException

Last Updated:2023年07月17日| | コメントを残す

WordPress 人気ページビルダーであるエレメンタープロ(Elementor Pro)を更新した後、「Fatal error: Uncaught ReflectionException: Method get_site_editor_type does not exist in …/www/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php:46 Stack trace..." エラーが表示され、サイトにアクセスできない問題が発生する場合があります。

エレメントプロ更新エラー: Fatal error: Uncaught ReflectionException

上の図では、エラーが発生する場所が theme-document.php ファイルの行 46 と表示されますが、場合によっては行 45 でエラーが発生していると表示されることもあります。

エレメントプロ更新エラー: Fatal error: Uncaught ReflectionException

エレメンプロがインストールされて WordPress サイトですべてのプラグインを最新バージョンに更新した後、次のような致命的なエラーが発生する問題に遭遇したことがあります。

Fatal error: Uncaught ReflectionException: Method get_site_editor_type does not exist in /public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php:46 Stack trace: #0 /public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(46): ReflectionClass->getMethod('get_site_editor...') #1 /public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(127): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document::get_site_editor_type_bc() #2 /public_html/wp-content/plugins/elementor/core/common/modules/finder/categories/create.php(94): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document::get_create_url() #3 /public_html/wp-content/plugins/elementor/core/common/modules/finder/categories/create.php(67): Elementor in /public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php on line 46

この問題は最新バージョンです Elementor プラグインがテーマや他のプラグインと競合する場合に発生する可能性があります。 エレメンタとエレメンタプロを除くすべてのプラグインを無効にした後にアップデートを進行したときに問題が発生するかどうかを確認してください。

問題が解決しない場合は、一時的な解決策として次のような試みを行うことができます。

一時的な解決策

方法1

最も簡単な方法は、問題を引き起こす行をコメントアウトすることです。 / WP-コンテンツ/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php ファイルの行46のコードは次のとおりです。

$method = $reflection->getMethod( 'get_site_editor_type' );

上記のコードをコメントアウトします。

// $method = $reflection->getMethod( 'get_site_editor_type' );

方法2

他の方法で theme-document.php ファイルの次の行を探します。

$reflection = new \ReflectionClass( $class_name ); // 라인 45
$method = $reflection->getMethod( 'get_site_editor_type' );

// It's own method, use it.
if ( $class_name === $method->class ) {
    return static::get_site_editor_type();
}

上記のコードを次のコードに置き換えます。

if (method_exists($class_name, "get_site_editor_type")) {
    $reflection = new \ReflectionClass( $class_name );
    $method = $reflection->getMethod( 'get_site_editor_type' );
    
    // It's own method, use it.
    if ( $class_name === $method->class ) {
        return static::get_site_editor_type();
    }
}

上記の方法でも解決できない場合 エレメンにサポートを依頼してください。

参照


コメントを残す

コメント