Я немного новичок в 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; ?>
Так, кто может сказать мне, где я могу добавить некоторую функцию, которая будет только округлять мою корзину, когда опция пожертвования отмечена?
На самом деле, я не совсем понимаю, что вы хотите сделать. Но, кажется, нужно иметь это предложение в вашем варианте, чтобы проверить, проверен ли он.
<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
Надеюсь, это поможет вам.
Других решений пока нет …