“Fatal error: Uncaught Error: Class ‘Elementor\Scheme_Color’…”

Recientemente me he encontrado el mismo error en algunas instalaciones de WordPress que usan Elementor. Os dejo el código para poder solucionarlo.


por

No es ningún secreto que no soy muy fan de Elementor, ya sea porque no acostumbro a utilizarlo y voy muy lenta al hacerlo o porque por mi experiencia en mantenimiento me ha dado muchos dolores de cabeza, lo cierto es que intento evitarlo y recomiendo otras soluciones más ligeras.

Aún así, muchos de mis clientes de TranquilidadWP lo utilizan y tengo que lidiar con sus actualizaciones y problemas. En este caso, con alguna de las últimas actualizaciones del plugin, me he encontrado en varias páginas web el mismo error:

“Fatal error: Uncaught Error: Class ‘Elementor\Scheme_Color'”....

No es un error que afecte a toda la web, sino a alguna página en concreto, y por lo que he visto es debido a que el theme utilizado utiliza algún código personalizado referente a Elementor.

Para solucionarlo, he encontrado esté código que en todos los casos me ha servido, y para usarlo debes añadirlo como un mu-plugin en la web, creando un archivo con el nombre que quieras (con extension .php) y subirlo a la carpeta /wp-content/mu-plugins/ (o crearla si no existe):

<?php
/**
 * Plugin Name: Elementor Scheme_Color and Scheme_Typography Class Issue
 **/
namespace Elementor;
\add_action(
  'plugins_loaded',
  function() {
    if ( ! class_exists( 'Elementor\Scheme_Color' ) ) {
      class Scheme_Color extends Core\Schemes\Color {}
    }
  }
);
\add_action(
  'plugins_loaded',
  function() {
    if ( ! class_exists( 'Elementor\Scheme_Typography' ) ) {
      class Scheme_Typography extends Core\Schemes\Typography {}
    }
  }
);
?>

Con esto evitaréis el error mientras no tengáis una actualización del theme utilizado que lo solucione.