Неустранимая ошибка: Uncaught ReflectionException: метод get_site_editor_type не существует

Буквально ничего не делая на сайте, после нескольких дней неиспользования, при попытке авторизоваться появляется такая ошибка:

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

тема-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 ];
}

Как я могу решить эту проблему?

Попробуйте деактивировать другие плагины и активировать их один за другим.

Vel 08.08.2022 12:57

@Vel Да, я знаю об этой идее, но мой сайт должен быть доступен постоянно, и отключение других плагинов может вызвать проблемы.

Wojciech 08.08.2022 12:59

Используете ли вы дополнительный плагин для elementor?

Vel 08.08.2022 13:02

@vel Нет, просто чистый elementor + elementor pro

Wojciech 08.08.2022 13:08

Пожалуйста, поделитесь информацией о здоровье сайта, если это возможно. imgur.com/Rtkmsba

Vel 08.08.2022 13:10

@vel Проблема в том, что я не могу войти в свою панель инструментов, потому что эта ошибка блокирует меня.

Wojciech 08.08.2022 13:14

Затем переименуйте папку elementor и elementor pro и имя плагина — используя FTP или cpanel.

Vel 08.08.2022 13:24

@vel Я сделал это, это сработало, я зашел в свою панель управления, и что мне делать дальше? Elementor PRO работает на версии 3.7. Может, откат все исправит? Но как мне сделать откат версии elementor pro?

Wojciech 08.08.2022 14:06

Надеюсь исправили?

Vel 09.08.2022 05:34
Как убрать количество товаров в категории WooCommerce
Как убрать количество товаров в категории WooCommerce
По умолчанию WooCommerce показывает количество товаров рядом с категорией, как показано ниже.
12
9
6 208
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

У меня также была эта проблема сегодня, и я решил ее, откатив бесплатную версию Elementor из-за ошибки в недавнем обновлении.

Ответ принят как подходящий

Изменить код

$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();
    }
}

Перейдите по адресу: /wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php

Закомментируйте строку 47

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

Дождитесь обновления исправления.

Я решил это аналогично Mayous. Я просто закомментировал строку в /wp-content/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' );

Правильный путь: /wp-content/plugins/elementor-pro/modules/theme-builder/docu‌​ments/theme-document‌​.php

Berti92 11.08.2022 20:44

Другие вопросы по теме