我正在使用Modern Tribe的名为Event Calendar和Event Tickets +的插件,该插件与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 );
}