WooCommerce: как изменить счет-фактуру после покупки в GeneratePress

Диагностика проблемы: почему нужно менять счет-фактуру после покупки

По умолчанию WooCommerce генерирует счет-фактуру (invoice) и квитанцию на основе стандартных шаблонов, которые не всегда соответствуют потребностям бизнеса или законодательным требованиям. В частности, владельцы сайтов на теме GeneratePress часто сталкиваются с необходимостью кастомизации этих документов — добавление реквизитов, изменение структуры, добавление подписей или QR-кодов.

Если вы используете стандартные плагины для счетов-фактур, но не можете изменить или доработать шаблон, либо хотите автоматизировать обновление данных после оплаты, этот материал поможет решить задачу через кастомный код и плагины.

Основные способы кастомизации счета-фактуры в WooCommerce на GeneratePress

1. Использование плагина для счетов с возможностью редактирования шаблонов

Популярные плагины, например WooCommerce PDF Invoices & Packing Slips, позволяют добавлять свои лого, поля, изменять текст и структуру счетов.

Преимущества:

  • Готовые шаблоны и интерфейс редактирования;
  • Автоматическая генерация и отправка счетов;
  • Поддержка многих языков и валют;

Недостаток — ограниченная кастомизация без знаний PHP и шаблонов.

2. Кастомизация шаблонов счета вручную через хук wpo_wcpdf_custom_template_path или переопределение шаблонов плагина

Если нужен максимальный контроль, можно скопировать шаблон плагина в папку темы GeneratePress и внести правки в HTML/PHP.

Пример переопределения пути шаблона:

add_filter('wpo_wcpdf_custom_template_path', function() {
    return get_stylesheet_directory() . '/woocommerce/pdf/';
});

Далее достаточно создать папку woocommerce/pdf/ в child-теме и поместить туда нужные файлы с шаблонами.

Пошаговое решение: как изменить счет-фактуру после оплаты

Шаг 1. Установка и настройка плагина WooCommerce PDF Invoices & Packing Slips

  • В админке WordPress перейдите в Плагины > Добавить новый и найдите WooCommerce PDF Invoices & Packing Slips.
  • Активируйте плагин и перейдите в WooCommerce > PDF Invoices.
  • Настройте основные параметры (логотип, данные компании, шаблоны).

Шаг 2. Создание дочерней темы GeneratePress (если еще нет)

Для корректной кастомизации лучше работать в дочерней теме, чтобы не потерять изменения при обновлениях.

В файле functions.php дочерней темы подключите фильтр:

add_filter('wpo_wcpdf_custom_template_path', function() {
    return get_stylesheet_directory() . '/woocommerce/pdf/';
});

Шаг 3. Копирование и редактирование шаблонов счета

Скопируйте папку с шаблонами плагина из wp-content/plugins/woocommerce-pdf-invoices-packing-slips/templates/pdf в wp-content/themes/your-child-theme/woocommerce/pdf.

Откройте файл invoice.php и внесите необходимые изменения:

  • Добавьте новые поля, например, ИНН, КПП, юридический адрес;
  • Вставьте подпись или QR-код с помощью PHP;
  • Измените стили для соответствия фирменному стилю.

Шаг 4. Автоматическое обновление данных после оплаты

Если нужно изменить содержимое счета после успешной оплаты (например, добавить номер договора или изменить статус), используйте хук woocommerce_order_status_completed для обновления мета-полей заказа.

add_action('woocommerce_order_status_completed', function($order_id) {
    $order = wc_get_order($order_id);
    // Добавляем мета-данные для счета
    $order->update_meta_data('custom_invoice_note', 'Договор №123 от ' . date('d.m.Y'));
    $order->save();
});

В шаблоне счета потом обращайтесь к $order->get_meta('custom_invoice_note') для вывода этой информации.

Проверка результата после внедрения

Чтобы убедиться, что изменения применились:

  • Сделайте тестовый заказ в магазине;
  • Перейдите на страницу заказа в админке WooCommerce;
  • Скачайте PDF-счет и проверьте наличие новых данных, подписи, стилей;
  • Проверьте, что при смене статуса заказа данные обновляются корректно;
  • Проверьте отображение на разных устройствах и в разных браузерах.

Частые ошибки при кастомизации счетов WooCommerce и как их исправить

  • Шаблон счета не меняется после копирования: убедитесь, что фильтр wpo_wcpdf_custom_template_path возвращает правильный путь и шаблоны лежат в нужной папке дочерней темы.
  • Ошибка PHP после правок в шаблоне: проверьте синтаксис и используйте error_log или отладчик для поиска ошибок.
  • Данные не обновляются после смены статуса заказа: проверьте, что хук woocommerce_order_status_completed срабатывает и мета-данные сохраняются через метод save().
  • PDF генерируется без стилей или с некорректным отображением: корректно подключите CSS в шаблонах плагина, учитывайте ограничения TCPDF (библиотека для PDF).

Практические советы по безопасности и производительности

  • Не храните конфиденциальные данные в мета-полях без шифрования.
  • Оптимизируйте шаблоны PDF, избегайте тяжелых изображений и лишних библиотек.
  • Используйте child-тему GeneratePress для всех правок, чтобы не потерять изменения при обновлении.
  • Регулярно обновляйте WooCommerce и используемые плагины для безопасности.
  • Проверяйте совместимость плагина для счетов с версией WooCommerce и PHP.
WooCommerce: как изменить счет-фактуру после покупки в GeneratePress
18.07.2026
WooCommerce: как изменить шаблон страницы товара для покупателей в GeneratePress
26.06.2026
WooCommerce: как отключить комментарии и оценки на странице товара в GeneratePress
14.05.2026
WooCommerce: как удалить атрибуты из фильтра после удаления товара в GeneratePress
02.06.2026
WooCommerce: как убрать автоматическое повышение цены товара после покупки в GeneratePress
16.06.2026