I WordPress, om du har använt massor av plugins, kommer du säkert att stöta på några som kräver att du lägger en kortnummer i posten, som [shortcode_1], för att den ska fungera. Med hjälp av kortnummer kan det vara ett bra sätt att lägga till funktionalitet på din webbplats, men när du inaktiverar pluginet kommer kortnummeret i ditt innehåll inte att tas bort och det kommer att visas i fronten i sin obearbetade form.

Så här ser det ut i sin obearbetade form:

Det finns flera sätt att ta bort oanvänd kortnummer från din webbplats:

1. Ta bort kortkoden från databasen

Om du vet vilken särskild kortnummer du vill ta bort och du vill ta bort den permanent från din databas kan du helt enkelt göra en SQL-fråga med kommandot nedan:

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

Ersätt "shortcodename" med den kortnummer du vill ta bort.

Obs! Det här är inte en idiotsäker metod eftersom olika kortkoder kan komma med olika attribut och värde, vilket gör det svårt att bilda en fångst-all SQL-fråga.

2. Byt kortnummer med tomt värde

Om du vet vilken kortnummer du vill ta bort, men du vill inte ta bort den permanent, kan du få den att göra ett tomt värde istället. Klistra in följande kod i slutet av functions.php filen (före ?> -taggen) i temagappen.

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

Byt ut "kodenummer" med den kortnummer du vill ta bort.

Obs! Det här är en bra metod endast om du vet vilken kortnummer du ska ta bort. Du måste också se till att kortnummeret inte längre är aktivt, annars kan det leda till konflikter.

3. Ta bort alla oanvända kortnummer från innehåll (rekommenderas)

Om du har en massa kortkommandon som du inte längre använder och du inte kan komma ihåg alla kortnummernamn är här ett ultimat sätt att inaktivera all oanvänd kortnummer i ditt innehåll.

Klistra in koden till slutet av dina functions.php strax innan ?> -taggen.

 add_filter ('the_content', 'mte_remove_unused_shortcode'); funktion mte_remove_unused_shortcode ($ content) {$ pattern = mte_get_unused_shortcode_regex (); $ content = preg_replace_callback ('/'. $ mönster. '/ s', 'strip_shortcode_tag', $ content); returnera $ content; } funktionen 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 \\])) (\\]) "??; returnera $ regex; } 

Vad ovanstående kod gör är att först hämta listan över alla aktiva kortkoder, söka efter innehållet för kortnummer som inte överensstämmer med den aktiva kortnummerlistan och ta bort kortnummer. Det ändras från funktionen get_shortcode_regex som söker efter aktiv kortnummer.

Obs! Den här metoden ska fungera för alla oanvända kortnummer och det tar inte bort kortnummer permanent. Nästa gång du aktiverar pluginprogrammet fortsätter dess respektive kortnummer automatiskt. På kupan kommer den här koden att ta bort allt innehåll som anges mellan en "[" och "]" -tagg.