Skip to content

Releases: Perun/widget-conditional-tags

Widget Conditional Tags 1.2.0

Choose a tag to compare

@Perun Perun released this 16 Jun 15:34
5fca24c

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; Vorrang NOT > AND > OR
  • Validierung schon beim Speichern; im Zweifel fail closed (versteckt statt zeigt)
  • Erweiterbar per Filter wct_allowed_conditions; ergänzte Callbacks werden auf is_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.