Wordpress Performance Wordpress SEO Wordpress Security Wordpress Themes Wordpress Hosting Mein Setup Das Buch

Ungenutzte Shortcodes mit Inhalt löschen

Ungenutzte Shortcodes mit Inhalt löschen Artikelbild

Shortcodes sind schon eine tolle Sache, denn sie erlauben uns relativ schnell und simpel Inhalte einzufügen. Ein Button im Artikel zum Beispiel, die Aufteilung in mehrere Spalten, farbige Unterlegung, große Buchstaben, eigentlich lässt sich mit Shortcodes so ziemlich alles realisieren. Doch gerade bei WordPress Plugins, können diese kleinen Hilfsmittel zu einer echten Qual werden. Dies geschieht immer dann, wenn ein Plugin deaktiviert wird, sich in den Artikeln aber noch sämtliche Shortcodes mitsamt Inhalt befinden. Dann ist guter Rat teuer, denn einfach entfernen lassen sich selbige erst einmal nicht, weshalb überall in den Artikel Shortcodes, statt dem zuvor umgewandelten Ergebnis angezeigt werden.

Jetzt ist Wissen gefragt, denn entweder nutzen wir nun eine entsprechende Funktion, die den Shrotcode mitsamt Inhalt ausblendet, oder wir versuchen den Code komplett aus der Datenbank zu entfernen. Der Weg über die functions.php ist relativ sicher, der über phpMyAdmin eigentlich auch, allerdings ist beim Arbeiten an der Datenbank immer Vorsicht geboten. Der Shortcode im Beispiel ist [asa] (Für ein Amazon Plugin), bei anderen Shortcodes entsprechend anpassen.

Eintrag in die functions.php:

function amazon_shortcode( $atts, $content = null ) { return ''; } add_shortcode( 'asa', 'amazon_shortcode' );

phpMyAdmin nutzen (MySQL-Befehl):

UPDATE `wp_posts`
SET `post_content` = REPLACE( `post_content` , CONCAT( '[asa]', SUBSTRING( `post_content` , LOCATE( '[asa]', `post_content` ) +5, LOCATE( '[/asa]', `post_content` ) - LOCATE( '[asa]', `post_content` ) -5 ) , '[/asa]' ) , '' )
WHERE `post_content` LIKE '%[asa]%'
AND `post_content` LIKE '%[/asa]%'

Tragen wir den oberen Wert in die functions.php unseres Themes ein, wird der Shortcode [asa] mit seinem Inhalt dazwischen (In Diesem Falle die ASIN-Nummer von Amazon) ausgeblendet, ist im Artikel aber weiterhin vorhanden. Wird dagegen der untere Code als MySQL Befehl in phpMyAdmin gestartet, dann werden sämtliche [asa] Shortcodes, mitsamt Inhalt, komplett entfernt und sind somit auch im Artikel nicht mehr vorhanden. Die eine Möglichkeit ist sicher, die andere dagegen gründlich und sauber. Wichtig: Denkt an eine Sicherheitskopie.



Wordpress Performance eBook