Shortcodes escapen
2015
Wenn man selbst WordPress Plugins schreibt, so kennt man das Problem: Man erstellt eine WordPress-Seite, um auf dieser das Plugin einem größeren Publikum vorzustellen und auf dieser Seite möchte man nun erklären, wie man den Shortcode einsetzt. Nur: Wenn das Plugin selbst läuft, ist natürlich auch der Shortcode aktiv. Was also tun? Bisher hatte ich mir immer ein kleines Script in der entsprechenden functions.php abgelegt: „Stop Shortcode“. Dieses stellte nur einen kleinen Shortcode bereit, in welchen ich meine aktiven Shortcodes einbetten konnte, ohne dass diese ausgeführt wurden.
Doch: Man kann Shortcodes escapen! Wenn man einen Shortcode mit einem einfachen Brackt (diesem Zeichen: [) beginnt, so wird dieser ausgeführt. Mit zwei Brackets jedoch wird dieser nicht ausgeführt: Statt also die Galerie-Funktion auszuführen wird [[gallery]] also als [gallery] ausgegeben.
Über diese Lösung bin ich gestolpert, als ich mir den regulären Ausdruck, mit welchem Shortcodes ausgeführt werden, näher anschaute. Dieser findet sich in der wp-includes/shortcodes.php.
Möchte man einen Shortcode mit Inhalt escapen geht man folgendermaßen vor:
[[shortcode]Inhalt[/shortcode]]