Wie man unbenutzten Shortcode von den Pfosten entfernt [WordPress]
Wenn Sie in WordPress viele Plugins verwendet haben, werden Sie sicher einige finden, bei denen Sie einen Shortcode in den Post schreiben müssen, wie [shortcode_1], damit es funktioniert. Die Verwendung von Kurzwahl kann eine gute Möglichkeit sein, Funktionalität zu Ihrer Website hinzuzufügen, aber wenn Sie das Plugin deaktivieren, wird der Kurzwahlcode in Ihrem Inhalt nicht entfernt und erscheint im Frontend in seiner unverarbeiteten Form.
So sieht es in seiner unverarbeiteten Form aus:
Es gibt mehrere Möglichkeiten, unbenutzten Shortcode von Ihrer Site zu entfernen:
1. Entfernen Sie den Shortcode aus der Datenbank
Wenn Sie wissen, welcher spezielle Shortcode entfernt werden soll und Sie ihn permanent aus Ihrer Datenbank entfernen möchten, können Sie einfach eine SQL-Abfrage mit dem folgenden Befehl ausführen:
UPDATE wp_post SET post_content = ERSETZEN (post_content, '[shortcodename]', '');
Ersetzen Sie "shortcodename" durch den Shortcode, den Sie entfernen möchten.
Hinweis : Dies ist keine idiotensichere Methode, da verschiedene Shortcodes unterschiedliche Attribute und Werte aufweisen können, so dass es schwierig ist, eine Catch-all-SQL-Abfrage zu erstellen.
2. Ersetzen Sie den Shortcode durch einen leeren Wert
Wenn Sie wissen, welcher Shortcode entfernt werden soll, aber nicht dauerhaft entfernt werden soll, können Sie stattdessen einen leeren Wert rendern. Fügen Sie den folgenden Code am Ende der Datei functions.php
(vor dem Tag ?>
) In Ihrem Themenordner ein.
add_shortcode ('shorcodename', 'mte_return_empty_shortcode'); Funktion mte_return_empty_shortcode () {return ''; }
Ersetzen Sie den "shorcodename" durch den Shortcode, den Sie entfernen möchten.
Hinweis : Dies ist nur dann eine gute Methode, wenn Sie wissen, welchen Shortcode Sie entfernen möchten. Sie müssen auch sicherstellen, dass der Shortcode nicht mehr aktiv ist, sonst könnte es zu Konflikten kommen.
3. Entfernen Sie alle nicht verwendeten Shortcodes vom Inhalt (empfohlen)
Wenn Sie eine Reihe von Shortcodes haben, die Sie nicht mehr verwenden und Sie sich nicht mehr an den gesamten Shortcode-Namen erinnern können, können Sie hier alle nicht verwendeten Shortcodes in Ihrem Content deaktivieren.
Fügen Sie den Code kurz vor dem ?>
-Tag an das Ende Ihrer functions.php
.
add_filter ('the_content', 'mte_remove_unused_shortcode'); Funktion mte_remove_unused_shortcode ($ content) {$ pattern = mte_get_unused_shortcode_regex (); $ content = preg_replace_callback ('/'. $ pattern. '/ s', 'strip_shortcode_tag', $ content); gib $ content zurück; } function mte_get_unused_shortcode_regex () {global $ shortcode_tags; $ tagnames = array_keys ($ shortcode_tags); $ tagregexp = join ('|', array_map ('preg_quote', $ tagname)); $ regex = '\\ [(\\ [?]'; $ regex. = "(?! $ tagregexp)"; $ regex. = '\\ b ([^ \\] \\ /] * (?: \\ / (?! \\]) [^ \\] \\ /] *) *?) (? :( \\ /) \\] | \\] (?: ([^ \\ [] * + (?: \\ [(?! \\ / \\ 2 \\]) [^ \\ [] * +) ) * +) \\ [\\ / \\ 2 \\])?) (\\]?) '; return $ regex; }
Der obige Code besteht darin, zuerst die Liste aller aktiven Shortcodes abzurufen, den Inhalt nach Shortcodes zu durchsuchen, die nicht mit der aktiven Shortcode-Liste übereinstimmen, und die Shortcodes zu entfernen. Es wird von der Funktion get_shortcode_regex geändert, die nach aktivem Shortcode sucht.
Hinweis : Diese Methode sollte für alle nicht verwendeten Shortcodes funktionieren und den Shortcode nicht dauerhaft entfernen. Wenn Sie das Plugin das nächste Mal erneut aktivieren, wird der entsprechende Shortcode automatisch weiter ausgeführt. Auf der anderen Seite entfernt dieser Code alle Inhalte, die zwischen einem "[" und "]" -Tag zitiert werden.