jueves, 13 de octubre de 2022

Solucinado: Fatal error: Uncaught ReflectionException: Method get_site_editor_type does not exist in /home/sitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php:45 Stack trace: #0 /home/sitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(45): ReflectionClass->getMethod('get_site_editor...') #1 /homesitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(126): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document::get_site_editor_type_bc() #2 /home/sitioweb/public_html/wp-content/plugins/elementor/core/common/modules/finder/categories/create.php(94): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document::get_create_url() #3 /home/sitioweb/public_html/wp-content/plugins/elementor/core/common/modules/finder/categories/create.php(67): Elementor\Core\Common\Modules\Finder\Categories\Create->create_item_url_by_document_class('ElementorPro\\Mo...') #4 /home/sitioweb/public_html/w in /home/sitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php on line 45


Solución:  Fatal error: Uncaught ReflectionException: Method get_site_editor_type does not exist in /home/sitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php:45 Stack trace: #0 /home/sitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(45): ReflectionClass->getMethod('get_site_editor...') #1 /homesitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(126): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document::get_site_editor_type_bc() #2 /home/sitioweb/public_html/wp-content/plugins/elementor/core/common/modules/finder/categories/create.php(94): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document::get_create_url() #3 /home/sitioweb/public_html/wp-content/plugins/elementor/core/common/modules/finder/categories/create.php(67): Elementor\Core\Common\Modules\Finder\Categories\Create->create_item_url_by_document_class('ElementorPro\\Mo...') #4 /home/sitioweb/public_html/w in /home/sitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php on line 45


Queridos lectores resulta que recientemente actualice los plugins del sitio web de un cliente que estaba desarrollado en Wordpress, y cuando terminó de actualizarse todos incluidos el elementor el sitio ya no cargaba sino que aparecia el siguiente mensaje.


 Fatal error: Uncaught ReflectionException: Method get_site_editor_type does not exist in /home/sitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php:45 Stack trace: #0 /home/sitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(45): ReflectionClass->getMethod('get_site_editor...') #1 /homesitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php(126): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document::get_site_editor_type_bc() #2 /home/sitioweb/public_html/wp-content/plugins/elementor/core/common/modules/finder/categories/create.php(94): ElementorPro\Modules\ThemeBuilder\Documents\Theme_Document::get_create_url() #3 /home/sitioweb/public_html/wp-content/plugins/elementor/core/common/modules/finder/categories/create.php(67): Elementor\Core\Common\Modules\Finder\Categories\Create->create_item_url_by_document_class('ElementorPro\\Mo...') #4 /home/sitioweb/public_html/w in /home/sitioweb/public_html/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php on line 45


Este error ocurre cuando la versión del complemento Elementor no es compatible con la versión de WordPress que está utilizando.

Lo primero que haremos para solucionar el problema es colocar un parche.

Para lo cual deberemos ubicar el siguiente fichero con esta ruta:

"/wp-content/plugins/elementor-pro/modules/theme-builder/documents/theme-document.php "

Esto lo puedes hacer de manera sencilla desde el cpanel, en el administrador de archivos. Estan ubicado da clic en editar el fichero.

Luego ubica las siguientes líneas de código:


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

Y añade las que voy a resaltar en amarillo:


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


Esto permitirá que el sitio web vuelva a funcionar y puedas volver a entrar al panel de control de Wordpress.

Para una solución  definitiva lo siguiente será regresar a una versión anterior de  elementor, como la versión 3.6.8. Para realizar este proceso, ingresa al indice de Wordpress, luego a elementor, selecciona Herramientas y en versiones escoge una versión anterior como la que te indique.

Para una solución  definitiva lo siguiente será regresar a una versión anterior de  elementor, como la versión 3.6.8. Para realizar este proceso, ingresa al indice de Wordpress, luego a elementor, selecciona Herramientas y en versiones escoge una versión anterior como la que te indique.

Recuerda que cuando realices cambios en elementor debes hacer una copia de seguridad de tu base de datos antes de revertir.

Con esto ya habrás solucionado este error que puede haberte asustado en principio.



¡Nos vemos pronto! 



2 comentarios:

  1. Gracias amigos de Seo y Socialmedia, pude resolver el problema con este ejemplo.

    ResponderBorrar

Déjame tu comentario o consulta.