@eratnikstudio

Как в плагине WooCommerce Deposits при выборе полной оплаты сделать скидку 10%?

Суть такая. Установлен плагин WooCommerce Deposits. Сделаны все настройки для выбора частичной оплаты (30% от общей суммы) и есть выбор полной оплаты. Так вот - Как сделать, что бы при выборе полной оплаты сделать скидку 10% и сумма выставленная к оплате (total) пересчитывалась и отображалась?
  • Вопрос задан
  • 36 просмотров
Пригласить эксперта
Ответы на вопрос 2
wfantastic
@wfantastic
увлечен wordpress
Это решается с помощью функции:
// Функция для расчета скидки
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 );
Ответ написан
Комментировать
@eratnikstudio Автор вопроса
There has been a critical error on this website. Сайт выдал критическую ошибку). Я тоже пробывал так - но что то не так))
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы