Как использовать хуки WooCommerce для дополнительного функционала

|

WooCommerce — одна из самых популярных платформ для создания интернет-магазинов на базе WordPress. Одним из ключевых инструментов для расширения возможностей WooCommerce являются хуки (actions и filters). Они позволяют без изменения основного кода плагина добавлять или изменять функционал магазина.

Что такое хуки в WooCommerce и зачем они нужны

Хуки — это специальные точки в коде WooCommerce, куда можно «подцепить» собственные функции. С помощью хуков можно добавлять новые элементы на страницы магазина, изменять вывод информации, обрабатывать данные и многое другое. Это особенно важно, чтобы при обновлениях WooCommerce ваши изменения не были утеряны.

Существует два типа хуков:

Основные хуки WooCommerce для добавления функционала

Разберём несколько полезных хуков, которые чаще всего применяются для кастомизации:

1. Добавление текста или HTML в карточку товара

Хук woocommerce_single_product_summary позволяет вставлять контент в описание товара. Например, добавим специальный блок с дополнительной информацией:

add_action('woocommerce_single_product_summary', 'wppremium_add_custom_text', 25);
function wppremium_add_custom_text() {
    echo '<div class="custom-info">Бесплатная доставка при заказе от 5000 рублей</div>';
}

Число 25 — приоритет выполнения, определяет порядок вывода (чем меньше, тем раньше).

2. Изменение цены перед выводом

Чтобы изменить цену товара, используется фильтр woocommerce_get_price_html. Например, добавим скидку 10% для всех товаров:

add_filter('woocommerce_get_price_html', 'wppremium_discount_price', 100, 2);
function wppremium_discount_price($price_html, $product) {
    $regular_price = $product->get_regular_price();
    if (!$regular_price) return $price_html;
    $discounted_price = $regular_price * 0.9;
    $new_price = wc_price($discounted_price);
    return '<del>' . $price_html . '</del> <ins>' . $new_price . '</ins>';
}

Этот код отобразит прежнюю цену зачеркнутой и новую — с учётом скидки.

3. Добавление поля на страницу оформления заказа

Иногда требуется добавить дополнительное поле (например, комментарий или подарок). Используем хук woocommerce_after_order_notes для вывода поля и woocommerce_checkout_update_order_meta для сохранения данных:

add_action('woocommerce_after_order_notes', 'wppremium_add_custom_checkout_field');
function wppremium_add_custom_checkout_field($checkout) {
    echo '<div id="custom_checkout_field">';
    woocommerce_form_field('wppremium_gift_message', array(
        'type' => 'textarea',
        'class' => array('form-row-wide'),
        'label' => __('Сообщение для подарка'),
        'placeholder' => __('Введите ваше сообщение'),
        ), $checkout->get_value('wppremium_gift_message'));
    echo '</div>';
}

add_action('woocommerce_checkout_update_order_meta', 'wppremium_save_custom_checkout_field');
function wppremium_save_custom_checkout_field($order_id) {
    if (!empty($_POST['wppremium_gift_message'])) {
        update_post_meta($order_id, 'wppremium_gift_message', sanitize_textarea_field($_POST['wppremium_gift_message']));
    }
}

Это позволит покупателям оставить пожелание к заказу.

Практические советы по работе с хуками WooCommerce

Используйте дочернюю тему или собственный плагин

Чтобы не потерять изменения при обновлениях, добавляйте код в functions.php дочерней темы или создавайте небольшой плагин. Это улучшит поддержку и безопасность.

Отлаживайте код с помощью логов

Если что-то не работает, используйте функцию error_log() для записи в логи и отладки. Например, error_log('Хук сработал');.

Изучайте официальную документацию и хуки

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

Инструменты и плагины для работы с хуками WooCommerce

Для упрощения работы с хуками рекомендуем обратить внимание на следующие плагины:

Также полезно использовать темы с поддержкой WooCommerce, например Root, для удобной кастомизации.

Заключение

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

WooCommerce: как настроить отправку писем при массовом изменении статуса заказов
11.06.2026
Как использовать хуки WooCommerce для дополнительного функционала
16.01.2026
WooCommerce: решение проблемы с отсутствием писем подтверждения заказов
04.06.2026
Как создать главный вывод текстовой информации в WordPress без плагинов
22.01.2026
Как добавить настройки в панель управления WordPress с помощью плагина и кода
25.11.2025
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее