Als je in WordPress veel plug-ins hebt gebruikt, zul je er zeker een paar tegenkomen die vereisen dat je een shortcode in de post plaatst, zoals [shortcode_1], zodat het werkt. Het gebruik van shortcode kan een goede manier zijn om functionaliteit toe te voegen aan uw site, maar wanneer u de plug-in deactiveert, wordt de shortcode in uw inhoud niet verwijderd en verschijnt deze in de onbewerkte vorm in de frontend.

Zo ziet het eruit in de onbewerkte vorm:

Er zijn verschillende manieren om ongebruikte shortcode van uw site te verwijderen:

1. Verwijder de shortcode uit de database

Als u weet welke shortcode u wilt verwijderen en u deze permanent uit uw database wilt verwijderen, kunt u eenvoudig een SQL-query uitvoeren met de onderstaande opdracht:

 UPDATE wp_post SET post_content = REPLACE (post_content, '[shortcodename]', ''); 

Vervang "shortcodename" door de shortcode die u wilt verwijderen.

Opmerking : dit is geen onfeilbare methode omdat verschillende snelcodes verschillende attributen en waarden kunnen hebben, waardoor het moeilijk is om een ​​allesomvattende SQL-query te vormen.

2. Vervang de shortcode door de lege waarde

Als u weet welke shortcode moet worden verwijderd, maar u deze niet permanent wilt verwijderen, kunt u ervoor zorgen dat deze in plaats daarvan een lege waarde genereert. Plak de volgende code aan het einde van het bestand functions.php (vóór de tag ?> ) In uw themamap.

 add_shortcode ('shorcodename', 'mte_return_empty_shortcode'); function mte_return_empty_shortcode () {return ''; } 

Vervang de "shorcodename" door de shortcode die u wilt verwijderen.

Opmerking : dit is alleen een goede methode als u weet welke shortcode u gaat verwijderen. Je moet ook zorgen dat de shortcode niet langer actief is, anders kan dit leiden tot conflicten.

3. Verwijder alle ongebruikte shortcodes uit de inhoud (aanbevolen)

Als je een aantal shortcodes hebt die je niet meer gebruikt en je de naam van de shortcode niet meer weet, is hier een ultieme manier om alle ongebruikte shortcode in je inhoud uit te schakelen.

Plak de code aan het einde van uw functions.php net voor de tag ?> .

 add_filter ('the_content', 'mte_remove_unused_shortcode'); function mte_remove_unused_shortcode ($ content) {$ pattern = mte_get_unused_shortcode_regex (); $ content = preg_replace_callback ('/'. $ pattern. '/ s', 'strip_shortcode_tag', $ content); return $ inhoud; } function mte_get_unused_shortcode_regex () {global $ shortcode_tags; $ tagnames = array_keys ($ shortcode_tags); $ tagregexp = join ('|', array_map ('preg_quote', $ tagnames)); $ regex = '\\ [(\\ [?)'; $ regex. = "(?! $ tagregexp)"; $ regex. = '\\ b ([^ \\] \\ /] * (?: \\ / (?! \\]) [^ \\] \\ /] *) *?) (? :( ? \\ /) \\] | \\] (: ([?! ^ \\ [] * + (: \\ [(\\ / \\ 2 \\]) [^ \\ [] * + ) * +) \\ [\\ / \\ \\ 2])) (\\])?; return $ regex; } 

Wat de bovenstaande code doet, is om eerst de lijst met alle actieve shortcodes op te halen, de inhoud te zoeken op shortcodes die niet overeenkomen met de actieve shortcodelijst en de shortcodes te verwijderen. Het is gewijzigd van de functie get_shortcode_regex die controleert of actieve shortcode wordt gebruikt.

Opmerking : deze methode zou moeten werken voor alle ongebruikte shortcode en de shortcode wordt niet permanent verwijderd. De volgende keer dat u de plug-in opnieuw activeert, blijft de bijbehorende shortcode automatisch werken. Aan de andere kant verwijdert deze code alle inhoud die wordt vermeld tussen een "[" en "]" tag.