Fehler mit Elementor-Widgets

Mittwoch, 27.04.2022 09:47

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

Thema: WordPress | Kommentare (0) | Autor:

Counterize-Funktionen

Samstag, 18.07.2009 07:43

Um den aktuellen Zählerstand auch im Frontend ausgeben zu lassen, gibt es ein paar nützliche Funktionen, die einfach nur ins Template (sidebar, footer etc.) eingebaut werden müssen.

Folgende Funktionen können dabei benutzt werden:

counterize_getamount() – gibt die Gesamtzahl der Seitenaufrufe zurück
counterize_gethitstoday() – gibt die Gesamtzahl der Seitenaufrufe des aktuellen Tages zurück
counterize_getlatest7days() – gibt die Gesamtzahl der Seitenaufrufe innerhalb der letzten 7 Tage zurück
counterize_getuniqueamount() – gibt die Gesamtzahl der eindeutigen Besucher (verschiedene IPs) zurück
counterize_getfromcurrentip() – gibt die Gesamtzahl der Seitenaufrufe der aktuellen IP zurück
counterize_getuniquehitstoday() – gibt die Gesamtzahl der verschiedenen IPs des aktuellen Tages zurück
counterize_gethitstodayfromcurrentip() – gibt die Gesamtzahl der Seitenaufrufe des aktuellen Tages der aktuellen IP zurück

Thema: Plugins | Kommentare (0) | Autor:

Sidebar dynamisch ein- und ausblenden

Donnerstag, 30.04.2009 09:27

Header:

var j = jQuery.noConflict();

j(document).ready(function() {

	j("a#toggleSidebar").click().toggle(function(){
		j('#sidebar').animate({
			width: 'hide',
			opacity: 'hide'
		}, 'slow');
		j(this).toggleClass('sidebarcollapse');
		j(this).toggleClass('sidebarexpand');
	}, function(){
		j('#sidebar').animate({
			width: 'show',
			opacity: 'show'
		}, 'slow');
		j(this).toggleClass('sidebarcollapse');
		j(this).toggleClass('sidebarexpand');
	});

});

Content:

<a id="toggleSidebar" class="sidebarexpand" title="ein-/ausblenden" href="#">X</a>

CSS:

#toggleSidebar {margin:1em;float:right;text-decoration:none;width:15px;height:15px;}
    .sidebarcollapse {height:15px;text-align:right;background:url(images/arrow_l.png) no-repeat;}
    .sidebarexpand {height:15px;text-align:right;background:url(images/arrow_r.png) no-repeat;}

Thema: Template-Design | Kommentare (1) | Autor:

Wie mache ich mein Theme Widget-fähig?

Dienstag, 28.04.2009 18:12

Zuallererst muss (wenn nicht schon vorhanden) im Theme-Verzeichnis die functions.php erstellt werden und mit wenigstens folgendem Code befüllt werden:

if(function_exists('register_sidebar')){
    register_sidebar();
}

Möchte man mehrere Sidebars registrieren, so übergibt man der Funktion register_sidebar() einfach die Anzahl der Widgets:

if(function_exists('register_sidebar')){
    register_sidebar(2);
}

Um die HTML-Ausgabe zu beeinflussen, kann man den Code noch erweitern:

if(function_exists('register_sidebar')){
    register_sidebar(array(
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '',
        'after_title' => ''));
}

Nun muss noch die Widget-Fähigkeit ins Template eingebaut werden. Hierzu fügen wir folgenden Code in die sidebar.php:

<ul>
<?php if(!function_exists('dynamic_sidebar') || !dynamic_sidebar()) : endif; ?>
</ul>

Thema: Template-Design | Kommentare (0) | Autor:

TYPO3 Internetagentur Dresden
Diese Webseite verwendet Cookies. Weitere Informationen.