Fehler mit Elementor-Widgets
Vor ein paar Tagen hatten wir das Problem, dass eine WordPress-Website mit Elementor nicht mehr funktionierte. Nach dem Aktivieren des error reportings erschienen Fehler wie
Fatal error: Uncaught Error: Class 'Elementor\Scheme_Color' not found
oder
Fatal error: Uncaught Error: Class 'Elementor\Scheme_Typography' not found
Problem ist schlicht, dass die erwähnten Klassen umbenannt wurden. Abhilfe schaffen hier zwei Wege:
- Jedes Vorkommen von
Scheme_Color
ersetzen mit\Elementor\Core\Schemes\Color
sowie jedes Vorkommen vonScheme_Typography
ersetzen mit\Elementor\Core\Schemes\Typography
- in jede erwähnte Datei nach der Deklaration des Namespace folgende Zeilen einfügen:
use \Elementor\Core\Schemes\Typography as Scheme_Typography;
use \Elementor\Core\Schemes\Color as Scheme_Color;
Das hat das Problem bei uns gelöst. Natürlich nur bis zum Nächsten Auto-Update.
„Schuld“ war in unserem Fall übrigens das Plugin „Pixerex Elements“.
Es gibt natürlich noch eine dritte Möglichkeit, indem man im „fehlerhaften“ Plugin eine PHP-Datei mit folgendem Inhalt erstellt:
<?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 {}
}
}
);