Я использую плагины от Modern Tribe, которые называются Календарь событий и Билеты на мероприятия +, которые интегрированы с woo-commerce.
При бронировании мероприятия пользователю предлагается ввести данные участников.Я хочу добавить в конец формы опцию, позволяющую пользователю отправлять свой билет по почте.Они будут представлены с опцией радио, чтобы включить почтовые расходы и упаковку.
Я добавил целевой файл в свою дочернюю тему и успешно добавил код для создания опции переключателя.Однако код, который я написал для добавления стоимости в корзину, не работает.
Я должен добавить, что когда пользователь выбирает событие, он попадает в корзину.Затем их спрашивают о деталях их участников, где у меня есть выбор радио.Затем они принимаются к оформлению заказа, поэтому здесь необходимо добавить плату.Я добавил этот абзац в свое первоначальное описание, если оно уместно.
Может кто-нибудь помочь, пожалуйста?
function ashweb_checkout_radio_choice() {
$chosen = WC()->session->get('radio_chosen');
$chosen = empty( $chosen ) ? WC()->checkout->get_value('radio_choice') : $chosen;
$chosen = empty( $chosen ) ? 'no_option' : $chosen;
$args = array(
'type' => 'radio',
'class' => array( 'form-row-wide' ),
'options' => array(
'no_option' => 'No Option',
'option_1' => 'Option 1 ($1.65)',
),
'default' => $chosen
);
echo '<div id="checkout-radio">';
echo '<h3>Add Postage and Packing!</h3>';
woocommerce_form_field( 'radio_choice', $args, $chosen );
echo '</div>';
}
ashweb_checkout_radio_choice();
add_action( 'woocommerce_cart_calculate_fees', 'ashweb_checkout_radio_choice_fee', 20, 1 );
function ashweb_checkout_radio_choice_fee( $cart ) {
if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;
$radio = WC()->session->get( 'radio_chosen' );
if ( "option_1" == $radio ) {
$fee = 1.65;
}
$cart->add_fee( __('Option Fee', 'woocommerce'), $fee );
}