WooCommerce: как использовать хуки для дополнительного отображения информации в корзине

Диагностика задачи: зачем добавлять данные в корзину WooCommerce

В стандартной корзине WooCommerce отображается базовая информация: название товара, его количество, цена и итог. Часто возникает задача добавить дополнительные данные — например, срок доставки, персональные заметки пользователя или специальные метки для товаров. Для этого в WooCommerce предусмотрены хуки, позволяющие внедрять свой контент без правки шаблонов напрямую.

Основные хуки для вывода дополнительной информации в корзине

Для вывода контента рядом с элементами корзины используют хуки, например:

  • woocommerce_after_cart_item_name — после названия товара;
  • woocommerce_cart_item_price — рядом с ценой;
  • woocommerce_after_cart_item_quantity_update — после поля количества;
  • woocommerce_after_cart_item — в конце блока товара в корзине.

Вот пример вывода дополнительного текста после названия товара:

add_action('woocommerce_after_cart_item_name', 'wpedu_add_info_after_cart_item_name', 10, 2);
function wpedu_add_info_after_cart_item_name($cart_item, $cart_item_key) {
    echo '<p style="font-size:12px; color:#555;">Срок доставки: 3-5 рабочих дней</p>';
}

Параметры функции и контекст

Функция принимает два параметра: $cart_item — массив с данными товара в корзине, и $cart_item_key — уникальный ключ товара. Используйте эти данные для вывода динамической информации, например, мета-данных товара.

Пошаговое решение: добавляем кастомную информацию к товарам в корзине

  1. Откройте файл functions.php активной темы или подключите собственный плагин.
  2. Добавьте код с использованием выбранного хука. Например, чтобы вывести пользовательское поле из метаданных товара:
add_action('woocommerce_after_cart_item_name', 'wpedu_show_custom_meta_in_cart', 10, 2);
function wpedu_show_custom_meta_in_cart($cart_item, $cart_item_key) {
    $product_id = $cart_item['product_id'];
    $custom_text = get_post_meta($product_id, '_custom_meta_key', true);
    if ($custom_text) {
        echo '<p style="font-size:13px; color:#006699;">' . esc_html($custom_text) . '</p>';
    }
}
  • Сохраните изменения и очистите кеш (если используется).
  • Перейдите на страницу корзины и проверьте вывод.
  • Как проверить, что решение сработало

    • Добавьте в админке товара мета-ключ _custom_meta_key с каким-либо текстом (через плагин Advanced Custom Fields или вручную в базе данных).
    • Добавьте этот товар в корзину на сайте.
    • Перейдите на страницу корзины и убедитесь, что под названием товара выводится нужный текст.
    • Если текста нет, проверьте ошибки PHP и корректность ключа мета-данных.

    Частые ошибки и как их исправить

    • Не выводится информация: Проверьте, правильно ли добавлен хук и нет ли конфликтов с другими плагинами или темой.
    • Выводится не там, где ожидалось: Попробуйте другой хук из списка — расположение зависит от шаблона темы.
    • Ошибки безопасности — вывод HTML без экранирования: Используйте esc_html() или аналогичные функции для защиты от XSS.
    • Кэширование блокирует обновления: Очистите кеш сайта и браузера, отключите временно плагины кеширования.

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

    • Избегайте тяжелых запросов в хуках корзины, чтобы не замедлять загрузку страницы.
    • Не храните большие объемы данных в мета-ключах товаров, используйте внешние сервисы для сложных вычислений.
    • Всегда фильтруйте и экранируйте выводимые данные.
    • Для сложных кастомизаций лучше создавать дочернюю тему или собственный плагин, а не править functions.php напрямую.

    Сравнение способов добавления информации в корзину WooCommerce

    МетодПреимуществаНедостатки
    Использование хуковПростота, совместимость с обновлениями WooCommerceОграничена область вставки, требует понимания хуков
    Правка шаблонов корзиныМаксимальная гибкость дизайна и структурыСложность обновления, риск конфликтов с темой и плагинами
    Использование плагинов для кастомизацииУдобство и дополнительные функции без кодаЗависимость от стороннего кода, возможные конфликты
    Как автоматизировать управление пользовательскими ролями в WordPress: практические решения и примеры кода
    03.03.2026
    Как автоматизировать управление ролями в WordPress по значениям метаполей пользователя
    04.04.2026
    WooCommerce: как настроить автоматическое отключение платежных систем при неоплате заказа по IP
    17.07.2026
    Удаление кэша в WordPress своими руками: практические методы и примеры кода
    21.11.2025
    WooCommerce: автоматическое удаление старого неоплаченного заказа с подробной настройкой
    01.07.2026