{"id":1205,"date":"2015-09-23T13:50:43","date_gmt":"2015-09-23T11:50:43","guid":{"rendered":"http:\/\/tn.genano.de\/wordpress\/?p=1205"},"modified":"2015-09-23T13:52:00","modified_gmt":"2015-09-23T11:52:00","slug":"shortcodes-in-wordpress-loswerden-ohne-den-inhalt-zu-verlieren","status":"publish","type":"post","link":"https:\/\/tn.genano.de\/wordpress\/2015\/09\/23\/shortcodes-in-wordpress-loswerden-ohne-den-inhalt-zu-verlieren\/","title":{"rendered":"Shortcodes in WordPress loswerden ohne den Inhalt zu verlieren"},"content":{"rendered":"<p>In diesem Blog war bis vor einger Zeit das Wikipop Plugin installiert. Aufgrund einiger Aufr\u00e4umarbeiten und Inkompatibilit\u00e4ten musste ich es allerdings deinstallieren.<\/p>\n<p>Nun musste ich aber irgendwie die Shortcodes loswerden. <!--more--><\/p>\n<p>Wenn es geht ohne die Inhalte (W\u00f6rter zwischen den Shortcodes) zu verlieren, denn die Shortcodes sind oft so aufgebaut:<\/p>\n<pre>... das mein [wikipop language=\"de\" search=\"Android (Betriebssystem)\"]Android[\/wikipop]..<\/pre>\n<p>Und ich m\u00f6chte nat\u00fcrlich das Wort &#8222;Android&#8220; zwischen den Tags erhalten. Nach einiger Recherche blieben dann nur noch regul\u00e4re Ausdr\u00fccke \u00fcbrig (regular <span lang=\"en\" xml:lang=\"en\">expression<\/span>). Mit diesen kann man eine Textmenge beschreiben<\/p>\n<p>Um die regul\u00e4ren Ausdr\u00fccke auf die Posts anwenden zu k\u00f6nnen ben\u00f6tigt man das Plugin <a href=\"https:\/\/wordpress.org\/plugins\/search-regex\/\" target=\"_blank\">Search Regex<\/a>.<\/p>\n<p>In meinem Fall habe ich zwei Ausdr\u00fccke konstruiert, welche die beiden Teile des Shortcodes finden und dann ersetze ich die einfach durch Nichts.<\/p>\n<p>F\u00fcr den Shortcode Teil 1 sieht die wie folgt aus:<\/p>\n<pre>\/\\[wikipop[^\\]]*\\]\/<\/pre>\n<p>Zur Erkl\u00e4rung, die &#8222;\/&#8220; am Anfang und Ende leiten den Suchstring ein. Dann kommt die &#8222;[&#8220; da diese aber eine Sonderbedeutung hat muss sie mit &#8222;\\&#8220; escaped werden. Damit versteht die Software das wir &#8222;[&#8220; suchen und nicht die Funktionalit\u00e4t der eckigen Klammer nutzen m\u00f6chten. Dann kommt der Text &#8222;wikipop&#8220; der wird einfach so gesucht wie er ist (Gro\u00df\/Kleinschreibung beachten!). Dann kommt eine Kombination &#8222;[^\\]]*&#8220; welche besagt, alles au\u00dfer dem Zeichen &#8222;]&#8220;, hier auch wieder escaped. Und dann kommt die geschlossende eckige Klammer &#8222;\\]&#8220;. Will man nicht auf die Gro\u00df- und Kleinschreibung achten m\u00fcssen schreibt man am Schlu\u00df statt &#8222;\/&#8220; einfach &#8222;\/i&#8220;.<\/p>\n<p>Dann Testet man die Regel und f\u00fchrt &#8222;Suchen und Ersetzen&#8220; durch.<\/p>\n<p>Die Regel f\u00fcr den Shortcode Teil 2 ist sch\u00f6n einfach:<\/p>\n<pre>\/\\[\\\/wikipop\\]\/<\/pre>\n<p>Auch hier gibt es wieder die Einleitung des Suchstrings. Dann ein escapedtes &#8222;\/&#8220; und die eckigen Klammern.<\/p>\n<p>Und schon sind wir unsere Shortcodes los.<\/p>\n<p>Regul\u00e4re Ausdr\u00fccke zu erlernen lohnt sich, man kann sie in der IT immer wieder brauchen. Ein netter Tester ist <a href=\"http:\/\/www.regexr.com\/\" target=\"_blank\">Regexr<\/a>, einfach mal probieren und rumspielen. Es gibt wirklich beeindruckende Regeln.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In diesem Blog war bis vor einger Zeit das Wikipop Plugin installiert. Aufgrund einiger Aufr\u00e4umarbeiten und Inkompatibilit\u00e4ten musste ich es allerdings deinstallieren. Nun musste ich aber irgendwie die Shortcodes loswerden.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[276,274,272,273,275,277],"class_list":["post-1205","post","type-post","status-publish","format-standard","hentry","category-allgemein","tag-ausdruck","tag-expression","tag-regex","tag-regular","tag-wikipop","tag-wordpress"],"_links":{"self":[{"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/posts\/1205","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/comments?post=1205"}],"version-history":[{"count":0,"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/posts\/1205\/revisions"}],"wp:attachment":[{"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/media?parent=1205"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/categories?post=1205"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tn.genano.de\/wordpress\/wp-json\/wp\/v2\/tags?post=1205"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}