Обновлять итоги корзины после установки флажка (woocommerce — wordpress)

Я немного новичок в WordPress и хотел бы получить совет. Я пытаюсь добавить дополнительное поле к карточке, которая округляет сумму карточки. Я хотел бы, чтобы он не округлял общую сумму карты, когда он не проверен .. Так что это мой
текущая ситуация
и я использовал этот код для него:

@ functios.php

function woo_add_cart_fee() {

global $woocommerce;

$totalprice = floatval( preg_replace( '#[^\d.]#', '', $woocommerce->cart->get_cart_total() ) );
$rounded = ceil($totalprice);
$donation = $rounded-$totalprice;
$woocommerce->cart->add_fee( __('Donatie', 'woocommerce'),$donation);

}
add_action( 'woocommerce_cart_calculate_fees', 'woo_add_cart_fee' );

и это @ cart-totals.php

<?php foreach ( WC()->cart->get_fees() as $fee ) : ?>
<tr class="fee">
<th><input type="checkbox"><?php echo esc_html( $fee->name ); ?></th>
<td data-title="<?php echo esc_html( $fee->name ); ?>"><?php wc_cart_totals_fee_html( $fee ); ?></td>
</tr>
<?php endforeach; ?>

Так, кто может сказать мне, где я могу добавить некоторую функцию, которая будет только округлять мою корзину, когда опция пожертвования отмечена?

1

Решение

На самом деле, я не совсем понимаю, что вы хотите сделать. Но, кажется, нужно иметь это предложение в вашем варианте, чтобы проверить, проверен ли он.

<input type="checkbox" name="your-option-name" value="1" <?php checked(1, get_option('your-option-name'), true); ?> />

Вы можете найти определение Функция Ссылка / проверено.

После этого добавьте регистр if, чтобы проверить, отмечен ли он. Как ниже

// 1 is the value of the checkbox that you defined.
if(get_option("your-option-name") == 1){
<?php foreach ( WC()->cart->get_fees() as $fee ) : ?>
<tr class="fee">
<th><input type="checkbox"><?php echo esc_html( $fee->name ); ?></th>
<td data-title="<?php echo esc_html( $fee->name ); ?>"><?php wc_cart_totals_fee_html( $fee ); ?></td>
</tr>
<?php endforeach; ?>
}

Вот ссылка, по которой я установил опцию ранее.
Создание собственного плагина для обмена социальными сетями для WordPress

Надеюсь, это поможет вам.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]