27. April 2022

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:

  1. Jedes Vorkommen von Scheme_Color ersetzen mit \Elementor\Core\Schemes\Color sowie jedes Vorkommen von Scheme_Typography ersetzen mit \Elementor\Core\Schemes\Typography
  2. 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 {}
    }
  }
);
Tags » , , «

Datum: Mittwoch, 27. April 2022 9:47
Trackback: