
Хуки для Woocommerce. Взаимодействие с различными этапами покупки
WooCommerce предоставляет множество хуков (action), которые позволяют взаимодействовать с различными этапами процесса покупки, от добавления товаров в корзину до оформления заказа.
Вот основные из них, сгруппированные по функциональным разделам:
1. Корзина (Cart)
woocommerce_before_cart
— вызывается перед отображением корзины.woocommerce_after_cart
— вызывается после отображения корзины.woocommerce_cart_contents
— вызывается для вывода содержимого корзины.woocommerce_cart_item_removed
— срабатывает, когда товар удаляется из корзины.woocommerce_cart_calculate_fees
— используется для добавления дополнительных сборов или скидок в корзину (например, обработка платы за доставку, скидки).woocommerce_cart_item_quantities
— срабатывает, когда изменяются количества товаров в корзине.woocommerce_add_to_cart
— срабатывает при добавлении товара в корзину.woocommerce_cart_updated
— срабатывает, когда корзина обновляется.woocommerce_checkout_update_order_review
— срабатывает при обновлении оформления заказа.
2. Оформление заказа (Checkout)
woocommerce_before_checkout_form
— вызывается до формы оформления заказа.woocommerce_after_checkout_form
— вызывается после формы оформления заказа.woocommerce_checkout_process
— срабатывает перед сохранением данных заказа, можно использовать для проверки данных или валидации.woocommerce_checkout_update_order_meta
— используется для добавления данных в мета-данные заказа.woocommerce_checkout_order_processed
— срабатывает после того, как заказ обработан и сохранен.woocommerce_checkout_create_order
— вызывается при создании нового заказа, до его сохранения в базе данных.woocommerce_payment_complete
— срабатывает, когда платеж подтвержден и заказ завершен.woocommerce_payment_failed
— вызывается, если процесс оплаты не прошел.
3. Оплата (Payment)
woocommerce_available_payment_gateways
— срабатывает для изменения доступных платежных систем.woocommerce_before_payment
— вызывается перед отображением формы оплаты.woocommerce_after_payment
— вызывается после отображения формы оплаты.woocommerce_order_status_completed
— срабатывает при изменении статуса заказа на "Завершен" (например, после успешного платежа).
4. Товары (Products)
woocommerce_before_shop_loop
— срабатывает до вывода товаров в списке (например, на странице магазина).woocommerce_after_shop_loop
— срабатывает после вывода товаров.woocommerce_single_product_summary
— срабатывает на странице одиночного товара.woocommerce_product_options_general_product_data
— используется для добавления пользовательских полей в административную панель для товара.woocommerce_product_save_data
— срабатывает при сохранении данных товара в админке.
5. Доставка (Shipping)
woocommerce_before_shipping_calculator
— срабатывает до калькулятора доставки на странице корзины.woocommerce_after_shipping_calculator
— срабатывает после калькулятора доставки.woocommerce_shipping_method
— срабатывает при выводе метода доставки.
6. Скидки и налоги (Discounts and Taxes)
woocommerce_coupon_message
— срабатывает при отображении сообщения о скидке.woocommerce_cart_coupon
— срабатывает при применении купона к корзине.woocommerce_tax_rate_after_calculation
— срабатывает после расчета налогов.
7. Профиль пользователя и учетные записи (User Accounts)
woocommerce_user_registered
— срабатывает после регистрации нового пользователя.woocommerce_login_redirect
— срабатывает при редиректе после входа пользователя.woocommerce_logout
— срабатывает при выходе пользователя из системы.
8. Админ-панель (Admin)
woocommerce_admin_order_data_after_order_details
— срабатывает после деталей заказа на странице редактирования заказа в админке.woocommerce_order_item_add_action_buttons
— добавляет кнопки для элементов заказа в админке.woocommerce_process_shop_order_meta
— срабатывает при сохранении мета-данных заказа в админке.woocommerce_save_product_variation
— срабатывает при сохранении вариаций товара.
9. Прочие (Miscellaneous)
woocommerce_before_main_content
— срабатывает перед основным содержимым страницы.woocommerce_after_main_content
— срабатывает после основного содержимого страницы.woocommerce_after_footer
— срабатывает после футера сайта.
Примеры использования:
Пример добавления дополнительной платы за доставку в корзину:
Пример изменения доступных методов оплаты:
Поделиться в соц. сетях: