Примечание. В этом документе речь идет о классических темах с PHP-шаблонами. Если вы используете блочную тему с HTML-шаблонами, ознакомьтесь с документацией по блочным темам.
Обзор
Файлы шаблонов WooCommerce содержат разметку и структуру страниц магазина и HTML-писем.
Список шаблонов
Файлы шаблонов WooCommerce можно найти через FTP или файловый менеджер хостинга в папке:
/wp-content/plugins/woocommerce/templates/
Также шаблоны доступны в репозитории GitHub.
Примечание: если вам нужны шаблоны для старых версий, используйте:
- Версии 6.0.0 и выше:
https://github.com/woocommerce/woocommerce/tree/[VERSION_NUMBER]/plugins/woocommerce/templates - Версии ниже 6.0.0:
https://github.com/woocommerce/woocommerce/tree/[VERSION_NUMBER]/templates
Изменение шаблонов через хуки
В каждом шаблоне есть хуки (hooks). Они позволяют добавлять или менять контент без редактирования самих файлов.
Хуки — это точки в коде, где можно подключить свой функционал. Это удобно, потому что не нужно менять шаблоны и не возникает проблем при обновлениях.
Пример хука из шаблона письма о новом заказе:
/*
* @hooked WC_Emails::order_details() Показывает таблицу с деталями заказа.
* @hooked WC_Structured_Data::generate_order_data() Генерирует структурированные данные.
* @hooked WC_Structured_Data::output_structured_data() Выводит структурированные данные.
* @since 2.5.0
*/
do_action( 'woocommerce_email_order_details', $order, $sent_to_admin, $plain_text, $email );
Этот код выводит блок с деталями заказа в письме о новом заказе.

Вы можете добавить свой код в этот хук:
add_action( 'woocommerce_email_order_details', 'my_custom_woo_function' );
function my_custom_woo_function() {
/* Здесь ваш код */
}
Так можно изменять содержимое шаблонов без их редактирования.
Изменение шаблонов через редактирование файлов
Редактировать файлы плагина или родительской темы напрямую не рекомендуется. При обновлении все изменения будут потеряны.
Правильный способ — использовать дочернюю тему.
Например, создаем тему storefront-child. В ней создаем папку:
/storefront-child/woocommerce/
Затем копируем нужный шаблон из плагина, сохраняя структуру папок (но без папки /templates/).
Пример:
- Откуда:
wp-content/plugins/woocommerce/templates/emails/admin-new-order.php - Куда:
wp-content/themes/storefront-child/woocommerce/emails/admin-new-order.php
После этого WooCommerce будет использовать ваш файл вместо стандартного.
Важно: шаблоны WooCommerce могут обновляться. Ваши копии — нет. Иногда нужно будет вручную обновлять свои шаблоны, чтобы они соответствовали новой версии.
Поддержка пользовательских шаблонов в теме
Если вы разрабатываете тему или используете тему с кастомными шаблонами, нужно добавить поддержку WooCommerce через функцию:
add_theme_support( 'woocommerce' );
Если в теме есть файл woocommerce.php, он имеет приоритет над другими шаблонами. В этом случае некоторые шаблоны (например, archive-product.php) не получится переопределить.
