В WooCommerce хуки и шорткоды — это мощные инструменты для кастомизации интернет-магазина. Ниже приведены популярные примеры из обеих категорий с пояснениями и примерами использования.
Популярные хуки WooCommerce
Хуки позволяют изменять поведение WooCommerce без редактирования исходного кода. Они делятся на действия (actions) и фильтры (filters).
1. Хуки страницы товара
- woocommerce_before_single_product — срабатывает до вывода страницы товара.
- woocommerce_before_add_to_cart_form — перед формой добавления в корзину.
- woocommerce_after_add_to_cart_button — после кнопки “В корзину”.
- woocommerce_product_meta_start / woocommerce_product_meta_end — для изменения блока с артикулом, категориями и метками.
Пример: Добавление текста под галереей товара:
add_action('woocommerce_product_thumbnails', 'custom_message', 30);
function custom_message() {
echo '<p>Бесплатная доставка при заказе от 5000₽!</p>';
}
2. Хуки корзины и оформления заказа
- woocommerce_before_cart / woocommerce_after_cart — до и после содержимого корзины.
- woocommerce_checkout_before_customer_details — перед формой данных покупателя.
- woocommerce_review_order_before_submit — перед кнопкой оформления заказа.
Пример: Добавление предупреждения в корзину:
add_action('woocommerce_before_cart', 'show_cart_notice');
function show_cart_notice() {
echo '<div class="alert">Акция: скидка 10% на 2+ товара!</div>';
}
3. Хуки статусов заказа
- woocommerce_order_status_completed — при завершении заказа.
- woocommerce_order_status_processing — при обработке заказа.
- woocommerce_order_status_cancelled — при отмене.
Пример: Отправка SMS при завершении заказа:
add_action('woocommerce_order_status_completed', 'send_sms_on_complete');
function send_sms_on_complete($order_id) {
$order = wc_get_order($order_id);
$phone = $order->get_billing_phone();
// Код отправки SMS...
}
4. Фильтры для кастомизации
- woocommerce_currency_symbol — изменение символа валюты.
- woocommerce_product_tabs — редактирование вкладок товара.
- loop_shop_per_page — изменение количества товаров на странице.
Пример: Уменьшение числа товаров в каталоге:
add_filter('loop_shop_per_page', 'set_products_per_page', 20);
function set_products_per_page() {
return 12; // Выводить 12 товаров вместо стандартных 10
}
Популярные шорткоды WooCommerce
Шорткоды позволяют вставлять динамический контент в страницы и записи.
1. Отображение товаров
- [products] — универсальный шорткод с параметрами:
- limit=”4″ — количество товаров.
- columns=”3″ — колонки.
- orderby=”price” — сортировка по цене.
- category=”hoodies” — фильтр по категории.
Пример: Вывод 6 популярных товаров в 2 колонки:
[products limit="6" columns="2" orderby="popularity"]
2. Системные страницы
- [woocommerce_cart] — корзина.
- [woocommerce_checkout] — оформление заказа.
- [woocommerce_my_account] — личный кабинет.
3. Дополнительные шорткоды
- [product_page id=”42″] — страница товара по ID.
- [related_products limit=”2″] — сопутствующие товары.
- [add_to_cart id=”99″] — кнопка добавления в корзину.
Пример: Кнопка с кастомным стилем:
[add_to_cart id="99" style="border: none; background: #ff0000;"]
4. Категории и атрибуты
- [product_categories] — список категорий.
- [products attribute=”color” terms=”red”] — товары с атрибутом “цвет: красный”.
Как использовать?
- Хуки добавляют в functions.php темы или через плагины-менеджеры (например, Code Snippets).
- Шорткоды вставляют в редактор WordPress (Gutenberg, Elementor) или в шаблоны через do_shortcode().
Важно:
- Для сложных хуков (например, изменение шаблонов) используйте дочерние темы.
- Тестируйте изменения на staging-сайте перед применением на боевом.