首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存档页面上的WooCommerce additional fee复选框

存档页面上的WooCommerce additional fee复选框
EN

Stack Overflow用户
提问于 2021-03-14 03:52:31
回答 1查看 18关注 0票数 0

我用WooCommerce制作了一个商店页面,其中禁用了单个产品页面。在存档页面上有一个数量输入字段,在此之前,我想添加一个额外的费用复选框。这段代码不起作用,我不知道在哪里修改才能将这笔费用添加到购物车和结账中。你能帮帮我吗?谢谢!

下面是我的代码:

代码语言:javascript
复制
// FRONTEND
function additional_fee() {
    if ( has_term( array( 'test' ), 'product_cat' ) ) {
        echo '<input type="checkbox" name="additional-fee" value="No">Additional Fee';
    } else {
        return;
    }
}
add_action( 'woocommerce_after_shop_loop_item_title', 'additional_fee' );

// STORE DATA
function store_additional_fee( $cart_item_data, $product_id, $variation_id ) {
    if( isset( $_POST['additional-fee'] ) ) {
        $cart_item_data['additional-fee'] = $_POST['additional-fee'];
    }
        return $cart_item_data;
    }
add_filter( 'woocommerce_add_cart_item_data', 'store_additional_fee', 10, 3 );

// ADD TO CHECKOUT
function add_checkout_additional_fee( $cart_object ) {
    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;
        foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
        if ( isset( $cart_item['additional-fee'] ) ) {
        $ndmtransferfee = true;
        $quantity = $cart_item['quantity'];
        break;
        }
    }
    $fee = 5000;
    if ( $ndmtransferfee ) {
        WC()->cart->add_fee( __('Additional Fee', 'textdomain'), $fee * $quantity );
    }
}
add_action( 'woocommerce_cart_calculate_fees', 'add_checkout_additional_fee', 10, 1 );
EN

回答 1

Stack Overflow用户

发布于 2021-03-14 17:36:19

好的,它是基于LoicTheAztec回复来工作的。谢谢!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66617909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档