Как настроить плагин 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).
Это решается с помощью функции: <br/> <pre><code>// Функция для расчета скидки
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 );</code></pre>