Releases: Perun/widget-conditional-tags
Release list
Widget Conditional Tags 1.2.0
Sicherer Nachfolger-Gedanke zu Widget Logic: blendet klassische WordPress-Widgets je nach Conditional Tag ein oder aus – ohne eval().
Statt eingegebenen Code auszuführen, liest ein kleiner Tokenizer plus Recursive-Descent-Parser eine bewusst eng gehaltene Ausdruckssprache und ruft ausschließlich Funktionen aus einer Whitelist auf. Die ganze Klasse der eval-Lücken fällt damit per Design weg.
Eigenschaften
- Bedingungsfeld unter jedem klassischen Widget:
is_home,!is_search(),(is_single() OR is_page()) AND !is_paged() - Operatoren
!,AND/&&,OR/||, Klammern; VorrangNOT>AND>OR - Validierung schon beim Speichern; im Zweifel fail closed (versteckt statt zeigt)
- Erweiterbar per Filter
wct_allowed_conditions; ergänzte Callbacks werden aufis_callable()geprüft - Backend-Hinweis, falls der Block-Widget-Editor aktiv ist
- Vollständig übersetzbar
Voraussetzungen
- WordPress 6.5+, PHP 7.4+
- Klassische Widget-Oberfläche (z. B. Plugin „Classic Widgets"). Im Block-Widget-Editor greift die Anzeige-Logik nicht.
Installation
ZIP unten herunterladen und über Plugins → Installieren → Plugin hochladen einspielen, oder den Ordner widget-conditional-tags nach /wp-content/plugins/ kopieren.
Hinweis: Das Plugin steuert die Sichtbarkeit von Widgets, es ist kein Zugriffsschutz. Vertrauliche Inhalte gehören nicht allein über eine Anzeige-Bedingung abgesichert.