PHP im Wordpress HTML Widget

Inhaltsverzeichnis

PHP im HTML Widget von Wordpress

Im HTML Widget von Wordpress funktioniert HTML, aber eben kein PHP. Warum eigentlich? Naja erst einmal weil es HTML Widget heißt, aber Gründe fallen mir danach kaum noch welche noch ein. Viele Wordpress Funktionen sind in PHP und diese müssen immer direkt in den Code integriert werden und das nur, weil das HTML Widget von Wordpress kein PHP erlaubt. Das nervt tierisch, zumindest hat es mich in den letzten drei Jahren immer mal wieder blockiert. Ideen mussten umständlich realisiert werden, dabei hätten sie auch einfach mit wenig Code im Widget Platz gefunden. Nun die Überraschung: PHP im Wordpress HTML Widget geht ohne Probleme, aber nur wenn ihr ein winziges Snippet einfügt.

Folgendes in die Functions.php eures Themes einfügen:

add_filter('widget_text', 'fastwp_php', 99);
function fastwp_php($text) {
 if (strpos($text, '<' . '?') !== false) {
 ob_start();
 eval('?' . '>' . $text);
 $text = ob_get_contents();
 ob_end_clean();
 }
 return $text;
}

PHP im Wordpress HTML Widget

Wie ihr oben seht, ist das Snippet für Wordpress sehr klein ausgefallen. So klein, dass es keinerlei spürbare Auswirkungen auf die Performance eures Blogs haben wird. Der Nutzen kann unter Umständen aber enorm sein, weil ihr eure eigenen Codes nun  direkt via Widget einfügen und in der Sidebar sortieren könnt, ohne umständliche Funktionen und direkte Eingabe in der Sidebar.php. Ich persönlich empfinde das Snippet jedenfalls als sehr wertvoll. Es erleichtert einige Sachen enorm und ist allgemein einfach sinnvoll. Warum die Entwickler von Wordpress dies im Jahr 2013 nicht langsam mal zum Standard machen, ist mir übrigens ein Rätsel. Ich jedenfalls wollte in den letzten drei Jahren mehr als nur einmal PHP im HTML Widget nutzen – Jetzt geht das auch endlich ohne Probleme.

Christian Pust
WordPress & Onlinemarketing Experte mit über 15 Jahren Erfahrung. Entwickler & CEO von Trackboxx – der Google Analytics Alternative.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte dich auch interessieren

Du benötigst Unterstützung bei deinem WordPress Projekt?

Dein Ansprechpartner
Christian