Как настроить плагин WooCommerce Deposits для предоставления скидки в 10% при выборе полной оплаты и пересчета итоговой суммы к оплате (total)?
Для настройки плагина WooCommerce Deposits для предоставления скидки в 10% при выборе полной оплаты и пересчета итоговой суммы к оплате (total) необходимо выполнить следующие шаги: 1. Установите и активируйте плагин WooCommerce Deposits на вашем сайте. 2. Создайте новое правило скидки в разделе "WooCommerce -> Coupons". Для этого нажмите кнопку "Add Coupon" и укажите в поле "Coupon code" уникальный код купона (например, FULLPAYMENTDISCOUNT). Затем выберите тип скидки "Percentage discount" и введите значение 10 в поле "Coupon amount". 3. Перейдите в раздел "WooCommerce -> Settings -> Deposits" и выберите вкладку "Deposits & Full Payments". Установите галочку напротив опции "Apply Coupone": "Yes" для применения скидки к полной оплате. 4. Теперь при оформлении заказа пользователь сможет применить купон скидки FULLPAYMENTDISCOUNT, который автоматически применит 10% скидку к полной сумме заказа. 5. После применения купона скидки и пересчета итоговой суммы к оплате, пользователь сможет завершить оформление заказа с учетом полученной скидки. Теперь ваш плагин WooCommerce Deposits настроен на автоматическое предоставление скидки в 10% при выборе полной оплаты и пересчета итоговой суммы к оплате (total).
Это решается с помощью функции:
// Функция для расчета скидки function custom_discount_total( $total, $cart ) { // Проверяем, выбрана ли полная оплата if ( isset( $_POST['wc_deposit_option'] ) && $_POST['wc_deposit_option'] === 'full' ) { // Применяем скидку 10% $total -= $total * 0.1; } return $total; } add_filter( 'woocommerce_cart_total', 'custom_discount_total', 10, 2 ); // Функция для обновления суммы к оплате на странице оформления заказа function custom_update_order_review( $data ) { // Проверяем, выбрана ли полная оплата if ( isset( $_POST['wc_deposit_option'] ) && $_POST['wc_deposit_option'] === 'full' ) { // Получаем общую сумму заказа $total = WC()->cart->get_total(); // Применяем скидку 10% $total -= $total * 0.1; // Обновляем сумму к оплате на странице оформления заказа $data['payment_total'] = wc_price( $total ); } return $data; } add_filter( 'woocommerce_get_order_item_totals', 'custom_update_order_review', 10, 1 );