Wordpress:购物车加收额外费用

时间:2015-03-17 13:45:15

标签: php wordpress woocommerce

我在Woocommerce(wordpress)创建了一个网上商店。这是一家葡萄酒商店,我需要增加额外的费用:每瓶0,08欧元(产品)。

我发现了这一点并对其进行了调整,但我无法将产品(瓶子)的数量乘以0.08欧元。 在购物车中我得到一个额外的行,但值为0.

任何人都能解释我的错误吗?

function get_cart_contents_count() {
     return apply_filters( 'woocommerce_cart_contents_count', $this->cart_contents_count );
}


function woo_add_cart_fee() {

  global $woocommerce;

  $woocommerce->cart->add_fee( __('Custom', 'woocommerce'), $get_cart_contents_count * 0.08 );

}
add_action( 'woocommerce_cart_calculate_fees', 'woo_add_cart_fee' );

2 个答案:

答案 0 :(得分:1)

在您的functions.php中尝试此代码,但它将应用于所有购物车

// Hook before adding fees 
add_action('woocommerce_cart_calculate_fees' , 'add_custom_fees');

function add_custom_fees( WC_Cart $cart ){
    $fees = 0.08;
    $cart->add_fee( 'Handling fee', $fees);
}

修改 将每个产品乘以

add_action('woocommerce_cart_calculate_fees' , 'add_custom_fees');
function add_custom_fees( WC_Cart $cart ){
    $fees = 0;

    foreach( $cart->get_cart() as $item ){
       $fees += $item[ 'quantity' ] * 0.08; 
    }

    if( $fees != 0 ){
        $cart->add_fee( 'Handling fee', $fees);
    }
}

答案 1 :(得分:0)

您正在谈论向购物车添加附加费。您可以从Woocommerce Doc in here获取所有相关信息。