Хуки для 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— срабатывает после футера сайта.
Примеры использования:
Пример добавления дополнительной платы за доставку в корзину:
Пример изменения доступных методов оплаты:
Поделиться в соц. сетях:
