In aktuellen WordPress-Versionen kannst du PHP-Code in Widgets ausführen, indem du entweder ein Plugin nutzt oder eine Code-Lösung implementierst. Hier erkläre ich beide Ansätze und worauf du achten solltest.
Worauf muss geachtet werden?
- Sicherheit: Direktes Ausführen von PHP-Code in Widgets birgt Sicherheitsrisiken, insbesondere wenn unautorisierte Nutzer Zugang zum Backend haben. Stelle sicher, dass der Code nur von vertrauenswürdigen Personen bearbeitet oder bereitgestellt wird (aus dem Netz kopierten Code solltest du am besten immer prüfen lassen (zB durch KI)).
- Kompatibilität: Achte darauf, dass deine Lösung mit der aktuellen WordPress-Version und dem Block-Editor kompatibel ist. Verwende keine veralteten Ansätze, wie das Hinzufügen von PHP-Code in Classic Widgets (Achte auf das Datum des Artikels in dem du den Code gefunden hast).
- Wartbarkeit: Stelle sicher, dass die Lösung leicht verständlich und wartbar bleibt, vor allem wenn andere Personen an der Website arbeiten.
1. Plugin-Lösung
Plugins ermöglichen das einfache Einfügen und Ausführen von PHP-Code in Widgets. Zwei empfehlenswerte Plugins sind:
Code Snippets Plugin
- Beschreibung: Dieses Plugin erlaubt dir, PHP-Code sicher in WordPress auszuführen, ohne direkt in Dateien einzugreifen. Es ist nicht auf Widgets begrenzt, sondern für die gesamte Website nutzbar.
- Vorgehen:
- Installiere und aktiviere das Plugin „Code Snippets„.
- Gehe zu „Snippets“ → „Neu hinzufügen“.
- Schreibe deinen PHP-Code und wähle aus, wo er ausgeführt werden soll (z. B. nur im Widget-Bereich).
- Füge das Snippet in ein benutzerdefiniertes HTML-Widget ein.
Insert PHP Code Snippet
- Beschreibung: Dieses Plugin erlaubt dir, PHP-Code als Shortcodes auszuführen, die du dann in Widgets oder auf Seiten/Beiträgen einbetten kannst. Es wird aktiv gepflegt und ist mit aktuellen WordPress-Versionen kompatibel.
- Vorgehen:
- Installiere und aktiviere das Plugin Insert PHP Code Snippet.
- Gehe zu „Snippets“ → „Add New PHP Code Snippet“.
- Schreibe deinen PHP-Code, z. B. eine Funktion, und speichere das Snippet.
- Nutze den generierten Shortcode (z. B.
[phpsnippet id="1"]
) im Widget, um den PHP-Code auszuführen.
2. Code-Lösung für PHP-Ausführung in Widgets
Wenn du ein Plugin vermeiden möchtest, kannst du eine benutzerdefinierte Lösung in deinem Theme oder Child Theme implementieren.
Schritt-für-Schritt-Anleitung:
- Füge PHP-Code-Ausführung für Widgets hinzu: Öffne die
functions.php
deines Child-Themes und füge den folgenden Code ein:function php_in_widgets_ausfuehren( $block_content, $block ) { // Überprüfen, ob es sich um ein HTML-Widget handelt if ( $block['blockName'] === 'core/html' ) { ob_start(); eval( '?>' . $block_content ); $block_content = ob_get_clean(); } return $block_content; } add_filter( 'php_in_widgets_ausfuehren', 'php_in_widgets_ausfuehren', 10, 2 );
- Wie es funktioniert:
- Dieser Filter überprüft, ob ein Block vom Typ „HTML“ ist (in Widgets genutzt).
- Der PHP-Code im Widget wird mit
eval()
ausgeführt.
- Nutzen:
- Gehe zu „Design“ → „Widgets“.
- Füge ein „Benutzerdefiniertes HTML-Widget“ hinzu und schreibe deinen PHP-Code hinein.
- Beim Rendern des Widgets wird der PHP-Code ausgeführt.
Empfohlene Lösung:
- Nutze ein Plugin wie Code Snippets für eine einfache und sichere Handhabung.
- Wenn du eine Code-Lösung bevorzugst, stelle sicher, dass du die Sicherheit durch sorgfältiges Testen gewährleistest, insbesondere wenn
eval()
verwendet wird.
Beide Ansätze funktionieren mit dem modernen Block-Editor und sind kompatibel mit aktuellen WordPress-Versionen.
Bildnachweis: Php icons created by Freepik – Flaticon