还可以根据产品自定义字段更改 WooCommerce Minicart 商品价格

2023-12-21

基于如果 WooCommerce 中的金额至少为 100,则允许客户设置产品价格(礼品卡)并添加到购物车 https://stackoverflow.com/questions/63544045/allow-customer-to-set-the-product-price-giftcard-and-add-to-cart-if-sum-is-min/63546593#63546593,这回答了我最初的问题 - 我剩下一个关于 WooCommerce 微型车的小问题。

产品价格不会根据客户使用礼品卡字段提交的价格进行更新。所以我有两种不同的解决方案,但都失败了。

这是我尝试过的:

add_filter('woocommerce_widget_cart_item_quantity', 'custom_wc_widget_cart_item_quantity', 10, 3 );
function custom_wc_widget_cart_item_quantity( $cart, $cart_item, $cart_item_key ) {

    foreach ( $cart->get_cart() as $cart_item ) {

        if ( isset ( $cart_item['giftcard_product_price'] ) ) {

        $cart_item['data']->set_price( $cart_item['giftcard_product_price'] );

        return sprintf( '<span class="quantity">%s &times; <span class="woocommerce-Price-amount amount">%s <span class="woocommerce-Price-currencySymbol">%s</span></span></span>', $cart_item['quantity'], $cart_item['giftcard_product_price'] );
        }
    }
}

它不起作用:小车一片空白。然后我也尝试过:

add_filter('woocommerce_cart_item_price','modify_cart_product_price',10,3);
function modify_cart_product_price( $price, $cart_item, $cart_item_key){
    $price = $cart_item['data']->set_price($cart_item['giftcard_product_price']);
    return $price;
}

我能得到的任何帮助将不胜感激。


要使用的右钩是woocommerce_cart_item_price这边走:

add_filter( 'woocommerce_cart_item_price', 'giftcard_cart_item_price', 10, 3 );
function giftcard_cart_item_price( $price_html, $cart_item, $cart_item_key ) {
    $giftcard_key = 'giftcard_product_price';

    if( isset( $cart_item[$giftcard_key] ) ) {
        $args = array( 'price' => floatval( $cart_item[$giftcard_key] ) );

        if ( WC()->cart->display_prices_including_tax() ) {
            $product_price = wc_get_price_including_tax( $cart_item['data'], $args );
        } else {
            $product_price = wc_get_price_excluding_tax( $cart_item['data'], $args );
        }
        return wc_price( $product_price );
    }
    return $price_html;
}

现在自定义价格将正确显示在迷你车中......

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

还可以根据产品自定义字段更改 WooCommerce Minicart 商品价格 的相关文章

随机推荐