В процессе разработки сайта на WordPress часто накапливается множество шорткодов, которые со временем перестают использоваться. Это может привести к появлению на сайте неработающих элементов, ошибок в выводе контента и даже снижению производительности. В этой статье мы подробно рассмотрим, как найти и удалить неиспользуемые шорткоды в WordPress, а также как автоматически очищать контент от оставшихся тегов.
Почему важно удалять неиспользуемые шорткоды
Шорткоды — удобный инструмент для вставки динамического контента. Однако после удаления плагина или изменения функционала сайта старые шорткоды остаются в базе данных и контенте, но уже не обрабатываются. В результате на страницах отображаются некрасивые короткие теги вида [old_shortcode], что портит внешний вид сайта и может запутать пользователей.
Кроме того, большое количество неиспользуемых шорткодов увеличивает объем базы данных и нагрузку на парсинг контента, что негативно сказывается на скорости загрузки страниц.
Поэтому регулярная очистка от неиспользуемых шорткодов — важная задача для всех разработчиков и администраторов WordPress.
Как найти неиспользуемые шорткоды в базе данных
Первый шаг — определить, какие шорткоды есть в контенте сайта. Для этого можно использовать SQL-запросы к базе данных или специализированные плагины.
Поиск через SQL-запрос
Выполните следующий запрос в phpMyAdmin или другом клиенте базы данных, заменив wp_posts на префикс вашей таблицы:
SELECT ID, post_title, post_content FROM wp_posts WHERE post_content LIKE '%[%]%';Этот запрос ищет все записи, где встречается символ [, который используется для шорткодов. Дальше можно вручную проанализировать контент или выгрузить результаты для поиска конкретных шорткодов.
Использование плагинов для поиска шорткодов
Для упрощения задачи можно использовать плагины, например:
- Shortcode Cleaner — позволяет найти неработающие шорткоды и удалить их из контента.
- Better Search Replace — помогает искать и заменять шорткоды в базе данных.
Однако будьте осторожны с массовым удалением — всегда делайте резервную копию базы данных перед изменениями.
Удаление неиспользуемых шорткодов программно
Если вы хотите автоматизировать процесс очистки и избежать появления неработающих шорткодов, можно зарегистрировать в теме или плагине функцию, которая будет фильтровать контент и удалять незарегистрированные шорткоды.
Вот пример функции wpblog_remove_unused_shortcodes, которая удаляет незарегистрированные шорткоды из текста:
function wpblog_remove_unused_shortcodes($content) {
global $shortcode_tags;
// Паттерн для поиска всех шорткодов
$pattern = get_shortcode_regex();
return preg_replace_callback('/' . $pattern . '/s', function($matches) use ($shortcode_tags) {
// Если шорткод зарегистрирован, возвращаем как есть
if (isset($shortcode_tags[$matches[2]])) {
return $matches[0];
}
// Иначе удаляем шорткод из контента
return '';
}, $content);
}
add_filter('the_content', 'wpblog_remove_unused_shortcodes');Эта функция проверяет каждый шорткод в тексте и удаляет те, которые не зарегистрированы в системе. Таким образом вы избавляетесь от «мертвых» шорткодов без необходимости искать их вручную.
Что делает код
- Использует стандартную функцию
get_shortcode_regex()для поиска всех шорткодов в тексте. - Проверяет, зарегистрирован ли шорткод в глобальном массиве
$shortcode_tags. - Удаляет не зарегистрированные шорткоды, возвращая пустую строку вместо них.
- Подключается к фильтру
the_content, чтобы работать с контентом постов и страниц.
Использование плагина Clearfy Pro для очистки шорткодов
Если вы хотите использовать готовое решение с расширенными возможностями, рекомендую обратить внимание на Clearfy Pro. Этот плагин включает функцию автоматической очистки контента от неработающих шорткодов и других ненужных элементов.
Преимущества Clearfy Pro:
- Интуитивно понятный интерфейс для управления шорткодами.
- Возможность массового удаления неиспользуемых шорткодов из всей базы данных.
- Дополнительные инструменты для оптимизации сайта и ускорения загрузки.
Использование Clearfy Pro поможет сэкономить время и избежать ошибок, связанных с удалением шорткодов вручную.
Полезные советы при работе с шорткодами
Резервное копирование перед изменениями
Перед массовым удалением шорткодов или изменениями в базе данных всегда делайте резервную копию. Это позволит быстро восстановить сайт при ошибках.
Тестирование на тестовом сайте
Лучше сначала проверить автоматические скрипты и плагины на копии сайта, чтобы убедиться, что они не удаляют нужные данные.
Регулярный аудит контента
Проводите периодический аудит и оптимизацию контента, чтобы поддерживать сайт в чистоте и порядке.
Использование собственного префикса функций
Для избежания конфликтов с другими плагинами и темами, добавляйте префикс к именам своих функций. В нашем случае, например, wpblog_.