Shortcodes in WordPress loswerden ohne den Inhalt zu verlieren

In diesem Blog war bis vor einger Zeit das Wikipop Plugin installiert. Aufgrund einiger Aufräumarbeiten und Inkompatibilitäten musste ich es allerdings deinstallieren.

Nun musste ich aber irgendwie die Shortcodes loswerden.

Wenn es geht ohne die Inhalte (Wörter zwischen den Shortcodes) zu verlieren, denn die Shortcodes sind oft so aufgebaut:

... das mein [wikipop language="de" search="Android (Betriebssystem)"]Android[/wikipop]..

Und ich möchte natürlich das Wort „Android“ zwischen den Tags erhalten. Nach einiger Recherche blieben dann nur noch reguläre Ausdrücke übrig (regular expression). Mit diesen kann man eine Textmenge beschreiben

Um die regulären Ausdrücke auf die Posts anwenden zu können benötigt man das Plugin Search Regex.

In meinem Fall habe ich zwei Ausdrücke konstruiert, welche die beiden Teile des Shortcodes finden und dann ersetze ich die einfach durch Nichts.

Für den Shortcode Teil 1 sieht die wie folgt aus:

/\[wikipop[^\]]*\]/

Zur Erklärung, die „/“ am Anfang und Ende leiten den Suchstring ein. Dann kommt die „[“ da diese aber eine Sonderbedeutung hat muss sie mit „\“ escaped werden. Damit versteht die Software das wir „[“ suchen und nicht die Funktionalität der eckigen Klammer nutzen möchten. Dann kommt der Text „wikipop“ der wird einfach so gesucht wie er ist (Groß/Kleinschreibung beachten!). Dann kommt eine Kombination „[^\]]*“ welche besagt, alles außer dem Zeichen „]“, hier auch wieder escaped. Und dann kommt die geschlossende eckige Klammer „\]“. Will man nicht auf die Groß- und Kleinschreibung achten müssen schreibt man am Schluß statt „/“ einfach „/i“.

Dann Testet man die Regel und führt „Suchen und Ersetzen“ durch.

Die Regel für den Shortcode Teil 2 ist schön einfach:

/\[\/wikipop\]/

Auch hier gibt es wieder die Einleitung des Suchstrings. Dann ein escapedtes „/“ und die eckigen Klammern.

Und schon sind wir unsere Shortcodes los.

Reguläre Ausdrücke zu erlernen lohnt sich, man kann sie in der IT immer wieder brauchen. Ein netter Tester ist Regexr, einfach mal probieren und rumspielen. Es gibt wirklich beeindruckende Regeln.

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.