Как да премахнете неизползваните Shortcode от публикациите [WordPress]
В WordPress, ако сте използвали много плъгини, със сигурност ще намерите няколко, които изискват от вас да поставите shortcode в пощата, като [shortcode_1], за да работи. Използването на кратки кодове може да е добър начин за добавяне на функционалност към вашия сайт, но когато деактивирате приставката, краткият код в съдържанието ви не се премахва и ще се появи в интерфейса в неговата необработена форма.
Така изглежда в непроменена форма:
Има няколко начина за премахване на неизползвания код от вашия сайт:
1. Извадете краткия код от базата данни
Ако знаете кой конкретен shortcode искате да премахнете и искате да го премахнете за постоянно от базата данни, можете просто да направите SQL заявка с командата по-долу:
Актуализиране на wp_post SET post_content = REPLACE (post_content, '[shortcodename]', '');
Заменете името "shortcodename" с краткия код, който искате да премахнете.
Забележка : Това не е безупречен метод, защото различните кратки кодове могат да идват с различни атрибути и стойности, което прави трудно да се създаде уловителна SQL заявка.
2. Заменете краткия код с празна стойност
Ако знаете кой код за премахване, но не искате да го премахнете за постоянно, можете да го направите, за да го направите празна. Поставете следния код в края на файла functions.php
(преди ?>
Таг) в папката с теми.
add_shortcode ('shorcodename', 'mte_return_empty_shortcode'); функция mte_return_empty_shortcode () {return ''; }
Заменете "shortcodename" с краткия код, който искате да премахнете.
Забележка : Това е добър метод само ако знаете кой код ще премахнете. Също така трябва да сте сигурни, че краткотрайният код вече не е активен, в противен случай това може да доведе до конфликт.
3. Премахване на всички неизползвани кратки кодове от съдържанието (препоръчително)
Ако имате куп къси кодове, които вече не сте използвали и не можете да си спомните цялото име на кратко кода, тук е най-добрият начин да забраните всички неизползвани къси кодове в съдържанието си.
Поставете кода до края на functions.php
точно преди ?>
Тага.
add_filter ('the_content', 'mte_remove_unused_shortcode'); функция mte_remove_unused_shortcode (съдържание $) {$ pattern = mte_get_unused_shortcode_regex (); $ content = pre_replace_callback ('/'. $ шаблон. / s ', ' strip_shortcode_tag ', $ съдържание); връща $ съдържание; } функция mte_get_unused_shortcode_regex () {global $ shortcode_tags; $ tagnames = array_keys ($ shortcode_tags); $ tagregexp = присъединяване ('|', array_map ('preg_quote', $ tagnames)); $ regex = '\\ [(\\ (?)'; $ regex. = "(?! $ tagregexp)"; $ regex = '\\ b ([^ \\] \\ /] * (?: \\ / (?! \\)) [^ \\] \\ / ? \\ /) \\] | \\] (: ([? ^ \\ [] * + (: \\ [(\\ / \\ 2 \\]) [^ \\ [] * + ) * +) \\ [\\ / \\ 2 \\])) (\\]) "?; връщане $ regex; }
Това, което прави по-горе, е първо да извлечете списъка с всички активни кратки кодове, да търсите в съдържанието кратки кодове, които не съвпадат с активния списък с къси кодове и да премахнете кратките кодове. Той се модифицира от функцията get_shortcode_regex, която проверява за активен shortcode.
Забележка : Този метод трябва да работи за всички неизползвани кратки кодове и не отстранява постоянно късо кода. Следващия път, когато отново активирате приставката, съответният кратък код ще продължи да работи автоматично. От друга страна, този код ще премахне цялото съдържание, което се цитира между маркерите "[" и "]".