
Поддержка сайта
Продвижение сайтов
Создание сайтов
Как удалить неактивные [шорткоды] с вашего сайта WordPress всего за 30 секунд
Сохранить на потом Только для подписчиков клуба (авторизация)
Я давно использую плагин WordPres, который предоставил мне различные элементы стиля в статьях, такие как кнопки, разделители, цветные поля и т. Д. Однако я решил от него избавиться в пользу еще большей скорости загрузки сайта. И я уже мог сделать большую часть макета вручную, используя CSS.
Но в чем была проблема?
На момент написания в lifehack, bg более 800 статей. В более чем 80% из них рассматриваемые элементы стиля используются через «шорткоды»!
Но плагин, который их предоставил, не работает — я отключил его, и эти небольшие фрагменты кода больше не активны — на их месте было что-то вроде "sws_divider_line", что могло сбить с толку многих наших пользователей / некоторые из них уже предупредили нас / .
Сначала подумал:
Теперь, Христо, вам нужно просмотреть все более 1300 статей (одну за другой) и удалить любой неактивный код, оставивший деактивированный вами плагин.
Я просто чувствую, что должен пройти через все это.
Но я бы не стал снова включать плагин, я хотел, чтобы сайт загружался быстрее, а плагины WordPress были как можно меньше.
Поэтому я не хочу, чтобы я начинал удаление вручную.
На десятой странице статей я устал.
Я покопался в Интернете, чтобы найти другое решение, это просто не вариант — потратить выходные на удаление тысяч маленьких неприятных строк кода …
Как сказал Уилл Смит: «Нет проблемы, которая не описана в книге», поэтому оказалось, что нет проблемы, которая не описывалась бы в Интернете.
В конце концов, я нашел отличный вариант, который решил всю эту проблему всего за 30 секунд и полностью автоматически — без необходимости ручного вмешательства!
Вы не представляете, как я был счастлив, когда протестировал его и увидел, что он отлично работает. Да, я чувствовал себя немного обескураженным из-за того, что я пытался исправить так много статей вручную, но это уже не имело большого значения …
Остальные 500 и ошибка были исправлены полностью автоматически, и эти короткие коды больше не были видны читателям lifehack.bg.
Вот решение:
Чтобы избавиться от всех ненужных и неработающих «шорткодов» отключенных плагинов сразу, без ручного вмешательства для каждой статьи, нам просто нужно сделать следующее.
add_filter (‘the_content’, ‘mte_remove_unused_shortcode’); функция mte_remove_unused_shortcode ($ content) {$ pattern = mte_get_unused_shortcode_regex (); $ content = preg_replace_callback (‘/’. $ pattern. ‘/ s’, ‘strip_shortcode_tag’, $ content); вернуть $ content; }
функция mte_get_unused_shortcode_regex () {глобальные $ shortcode_tags; $ tagnames = array_keys ($ shortcode_tags); $ tagregexp = join (‘|’, array_map (‘preg_quote’, $ tagnames)); $ regex = ‘\\ [(\\ [?)’; $ regex. = "(?! $ tagregexp)"; $ regex. = ‘\\ b [[^ \\] \\ /] * (?: \\ / (?! \\]) [^ \\] \\ /] *) *?) (? :( \\ /) \\] | \\] (?: [[^ \\ [] * + (?: \\ [(?! \\ / \\ 2 \\]) [^ \\ [] * + ) * +) \\ [\\ / \\ 2 \\])?) ‘(\\]?)’; вернуть $ regex; }
Наконец, проверьте свои статьи / не в редакторе, а вживую /, в которых вы знаете, что должен отображаться один из используемых [шорткодов], и вы увидите, что их больше нет!
Эта функция исключает уже неактивные коды из сломанных плагинов, а не удаляет их навсегда. Это хорошо, потому что в следующий раз, когда вы активируете плагин, «шорткоды» снова будут отображать элементы, стоящие за ними.
Надеюсь, этот трюк вам пригодится!