Я не могу получить значение опции для добавления в корзину при оформлении заказа - PullRequest
1 голос
/ 23 апреля 2019

Я использую плагины от 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 );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...