Диагностика проблемы с копирайтом WooCommerce
По умолчанию большинство тем для WooCommerce отображают в футере стандартный текст копирайта, часто с упоминанием разработчика темы или WooCommerce. Этот текст может мешать кастомизации и брендингу сайта. Проблема в том, что разные темы выводят этот текст по-разному: через виджеты, хуки или прямо в шаблонах темы.
Чтобы понять, как именно выводится копирайт на вашем сайте, проведите простую диагностику:
- Откройте исходный код страницы (Ctrl+U) и найдите текст копирайта;
- Определите класс или id HTML-элемента с копирайтом;
- Включите режим отладки в WordPress (define('WP_DEBUG', true); в wp-config.php) и проверьте, какие шаблоны отвечают за футер (обычно footer.php или шаблоны темы с префиксом footer);
- Проверьте, не подключается ли копирайт через хуки в functions.php или через виджеты в разделе Внешний вид > Виджеты.
Пошаговое решение: удаление или изменение текста копирайта WooCommerce
1. Удаление копирайта через дочернюю тему
Лучший способ — создать дочернюю тему и переопределить футер. Если копирайт выводится прямо в footer.php, скопируйте файл в папку дочерней темы и удалите или измените нужный блок.
<?php
// Пример удаления стандартного копирайта в footer.php
?>
<!-- Удаляем или заменяем этот блок -->
<div class="site-info">
<?php echo '© ' . date('Y') . ' Мой магазин'; ?>
</div>
2. Удаление копирайта через хук в functions.php
Многие темы используют хук storefront_credit или аналогичный. Для удаления текста добавьте в functions.php дочерней темы следующий код:
add_action('init', function() {
remove_action('storefront_footer', 'storefront_credit', 20);
});
Если тема другая, найдите через do_action или add_action в исходниках тему, какой хук отвечает за копирайт, и удалите его аналогично.
3. Изменение текста копирайта через фильтр
Если тема или WooCommerce используют фильтр для копирайта, например woocommerce_copyright_text, измените текст так:
add_filter('woocommerce_copyright_text', function() {
return '© ' . date('Y') . ' Мой магазин — Все права защищены';
});
4. Удаление копирайта через CSS (быстро, но не рекомендуется)
Если вы не хотите лезть в код, можно скрыть копирайт с помощью CSS, добавив в кастомные стили:
.site-info, .footer-copyright {
display: none !important;
}
Однако этот способ не удаляет текст из кода и не влияет на SEO.
Проверка результата после внедрения
- Очистите кеш браузера и кеш сайта, если используется кэш-плагин;
- Обновите страницу и проверьте, что текст копирайта либо отсутствует, либо изменился согласно вашему коду;
- Проверьте исходный код страницы (Ctrl+U), чтобы убедиться, что нежелательный текст больше не выводится;
- Проверьте работу сайта на мобильных устройствах и в разных браузерах.
Частые ошибки и как их исправить
- Не работает remove_action() — тема может использовать другой хук или выводить копирайт напрямую в шаблоне. Проверьте исходники темы и используйте переопределение шаблонов.
- Изменения пропадают после обновления темы — всегда используйте дочернюю тему для кастомизации.
- Скрытие через CSS не удаляет текст из исходного кода — это может негативно повлиять на SEO и доступность.
- Не найден нужный хук — используйте поиск по папке темы по ключевым словам (copyright, credit, footer) для нахождения точного места вывода.
Практические советы по безопасности и производительности
- Не модифицируйте файлы ядра WooCommerce или плагинов — все изменения должны быть в дочерней теме или через хуки;
- Для кэшированных сайтов очищайте кеш после внесения изменений, чтобы изменения стали видны;
- Используйте минимально возможный код для решений, чтобы не нагружать сайт лишними функциями;
- При использовании кастомных функций добавляйте проверку, чтобы избежать фатальных ошибок, например, проверяйте существование хуков.
Сравнение способов удаления/изменения копирайта
| Метод | Плюсы | Минусы | Пример использования |
|---|---|---|---|
| Переопределение footer.php в дочерней теме | Полный контроль, надежно | Требует создания дочерней темы и знаний PHP | Удаление блока с копирайтом из footer.php |
| Удаление через remove_action() | Быстро, чисто, не затрагивает шаблоны | Нужно знать точный хук, не всегда доступен | remove_action('storefront_footer', 'storefront_credit', 20); |
| Изменение через фильтр | Позволяет заменить текст без удаления | Нужно знать специфичный фильтр темы или плагина | add_filter('woocommerce_copyright_text', fn()=> '© 2024 Мой магазин'); |
| Скрытие через CSS | Очень просто, не требует PHP | Текст остаётся в коде, SEO не меняется | .site-info { display:none !important; } |
Используйте наиболее подходящий метод в зависимости от темы и задач. Для комплексных проектов рекомендуется создавать дочернюю тему и переопределять шаблоны, чтобы избежать проблем при обновлениях.