Шорткоды в WordPress — мощный инструмент для добавления динамического контента в записи, страницы и виджеты. Однако с течением времени на сайте может накопиться множество неиспользуемых или устаревших шорткодов, которые остаются в базе данных или коде темы и плагинов. Они не только загромождают код, но и могут влиять на производительность сайта и создавать ошибки отображения.
Почему важно удалять неиспользуемые шорткоды в WordPress
Со временем на сайте появляются шорткоды, которые перестали использоваться — например, после удаления плагина или смены темы. Эти шорткоды могут выводить ошибки или просто отображаться как текст вида [old_shortcode], что портит внешний вид сайта. Кроме того, наличие большого количества неиспользуемых шорткодов затрудняет поддержку и развитие сайта.
Удаление неиспользуемых шорткодов поможет:
- Избавиться от визуального мусора на страницах;
- Повысить производительность за счёт уменьшения количества обработок контента;
- Снизить риск конфликтов и ошибок;
- Сделать код сайта более чистым и понятным.
Как найти неиспользуемые шорткоды: методы и инструменты
Первый шаг — определить, какие шорткоды вообще есть на сайте и какие из них не используются.
1. Поиск по базе данных и контенту
Можно выполнить SQL-запрос к базе данных для поиска всех вхождений шорткодов в таблице wp_posts. Например, простой запрос для поиска всех записей с шорткодами:
SELECT ID, post_title, post_content FROM wp_posts WHERE post_content LIKE '%[%]%';Однако это найдет все шорткоды, и нужно дополнительно анализировать, какие из них реально используются.
2. Использование плагинов для анализа шорткодов
Для упрощения задачи можно применить специализированные плагины:
- Shortcode Cleaner Lite — позволяет просматривать и удалять неиспользуемые или пустые шорткоды из контента.
- Shortcodes Finder — помогает найти все шорткоды на сайте и узнать, где они используются.
Установка и использование плагинов упрощает процесс и минимизирует ошибки.
3. Ручной аудит кода темы и плагинов
Необходимо проверить functions.php, файлы плагинов и темы на регистрацию шорткодов с помощью функции add_shortcode(). Если шорткод зарегистрирован, но не используется в контенте, его можно удалить или отключить.
Как безопасно удалить неиспользуемые шорткоды в WordPress
Удаление шорткода сводится к отмене его регистрации и удалению его вхождений из контента сайта.
1. Отмена регистрации шорткода
Чтобы отменить регистрацию шорткода, можно использовать функцию remove_shortcode(). Например, для шорткода [old_shortcode]:
function clearfy_remove_unused_shortcode() {
remove_shortcode('old_shortcode');
}
add_action('init', 'clearfy_remove_unused_shortcode');Этот код нужно добавить в файл functions.php дочерней темы или в собственный плагин.
2. Удаление вхождений шорткода из контента
Чтобы удалить все вхождения неиспользуемого шорткода из записей и страниц, можно использовать скрипт на PHP с WP_Query:
function clearfy_remove_shortcode_from_content($shortcode) {
$args = [
'post_type' => ['post', 'page'],
'posts_per_page' => -1,
's' => '[' . $shortcode,
];
$query = new WP_Query($args);
if ($query->have_posts()) {
while ($query->have_posts()) {
$query->the_post();
$content = get_the_content();
$pattern = get_shortcode_regex();
$content = preg_replace('/' . preg_quote('[' . $shortcode) . '[^\]]*\]/', '', $content);
wp_update_post([
'ID' => get_the_ID(),
'post_content' => $content,
]);
}
}
wp_reset_postdata();
}
// Вызов функции для удаления шорткода old_shortcode
clearfy_remove_shortcode_from_content('old_shortcode');Этот код можно запустить однократно, например, через плагин Code Snippets или отдельный скрипт.
3. Автоматизация очистки с помощью плагина Clearfy Pro
Плагин Clearfy Pro содержит инструменты для оптимизации сайта, включая управление шорткодами. В нем можно быстро находить и отключать неиспользуемые шорткоды, а также очищать контент автоматически без ручного редактирования.
Как предотвратить появление неиспользуемых шорткодов в будущем
Чтобы не допускать накопления неиспользуемых шорткодов, рекомендуются следующие практики:
- При удалении плагина, который регистрировал шорткод, сразу удалять или отключать связанные с ним шорткоды.
- Использовать дочерние темы и собственные плагины для регистрации шорткодов, чтобы легче контролировать их наличие.
- Регулярно проверять контент на наличие старых шорткодов, используя плагины для аудита.
- Внедрить стандарты кодирования и документации для шорткодов, чтобы понимать, какие из них нужны.
Пример функции регистрации шорткода с префиксом clearfy
function clearfy_register_example_shortcode() {
add_shortcode('clearfy_example', function($atts) {
return '<div class="clearfy-example">Пример шорткода Clearfy</div>';
});
}
add_action('init', 'clearfy_register_example_shortcode');Такой подход помогает избежать конфликтов и упрощает последующее управление шорткодами.
Резюме и рекомендации
Удаление неиспользуемых шорткодов — важная задача для поддержания чистоты и производительности WordPress-сайта. Используйте поиск по базе данных, плагины и ручной аудит для выявления шорткодов, а затем аккуратно отменяйте их регистрацию и чистите контент. Плагин Clearfy Pro значительно облегчает этот процесс, предоставляя удобный интерфейс и автоматические инструменты оптимизации.
Следуйте описанным методам и вашим сайт станет чище, быстрее и безопаснее.