wordpress 致命错误:未捕获的反射异常:您访问的页面不存在

izj3ouym  于 2022-11-22  发布在  WordPress
关注(0)|答案(5)|浏览(112)

在网站上什么都不做,几天不使用后,当尝试登录时,出现这样的错误:

Fatal error: Uncaught ReflectionException: Method get_site_editor_type does not exist in /usr/home/midas/domains/mydomain.com/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php:45

theme-document.php:

protected static function get_site_editor_type_bc() {
    static $types = [];

    $class_name = static::get_class_full_name();

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

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

    // _deprecated_function( 'get_name', '3.0.0', 'get_site_editor_type' );

    // Fallback, get from class instance name (with caching).
    if ( isset( $types[ $class_name ] ) ) {
        return $types[ $class_name ];
    }

    $instance = new static();

    $types[ $class_name ] = $instance->get_name();

    return $types[ $class_name ];
}

如何解决此问题?

cu6pst1q

cu6pst1q1#

更改代码

$reflection = new \ReflectionClass( $class_name ); //45 line
$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();
    }
}
jum4pzuy

jum4pzuy2#

我用类似于Mayous的方法解决了这个问题。我只是注解掉了/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php中的行。

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

将其更改为

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

uqxowvwt3#

请访问:/wp-内容/插件/元素或pro/模块/主题构建器/文档/主题文档. php
注解掉第47行

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

等待修复程序更新。

wnavrhmk

wnavrhmk4#

我今天也遇到了这个问题,并通过回滚Elementor的免费版本解决了它,这是由于最近更新中的一个bug。

9lowa7mx

9lowa7mx5#

在我的情况下,网站崩溃的管理员(登录用户),所以是不可能登录。
我的解决方案是关闭“Elementor Pro”(使用我的WP托管的管理控制台),然后我就可以登录并手动上传Elementor Pro的新版本。
由于没有办法禁用插件,我想编辑代码也会工作,只是注解掉第47行:
/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php

相关问题