首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何计算Woo-commerce的add_fee总价值(sum)

如何计算Woo-commerce的add_fee总价值(sum)
EN

Stack Overflow用户
提问于 2019-12-17 12:01:18
回答 2查看 285关注 0票数 0

例如,我使用add_fee表单使用多个折扣

代码语言:javascript
复制
$wc_cart->add_fee( sprintf(__('fee 1', 'fee1') )."", -10, false );
$wc_cart->add_fee( sprintf(__('fee 2', 'fee1') )."", -20, false );
$wc_cart->add_fee( sprintf(__('fee 3', 'fee1') )."", -30, false );

我想计算并显示整个add_fee值的总和,如下所示

代码语言:javascript
复制
Total fee : 60

如何从Woo-commerce获得add fee价值。

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2019-12-17 12:12:53

您可以使用下面的过滤器来计算add_fee()总数,请检查并添加费用2和费用3:这只是一个例子,您可以根据需要修改代码

代码语言:javascript
复制
add_action( 'woocommerce_cart_calculate_fees','woocommerce_custom_surcharge' );
function woocommerce_custom_surcharge() {
global $woocommerce;

if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    return;

    $percentage = 0.03;
    $taxes = array_sum($woocommerce->cart->taxes);
    $surcharge = ( $woocommerce->cart->cart_contents_total + $woocommerce->cart->shipping_total + $taxes ) * $percentage;   
    // Make sure that you return false here.  We can't double tax people!
    $woocommerce->cart->add_fee( 'Fee 1', $surcharge, false, '' );

}
票数 0
EN

Stack Overflow用户

发布于 2019-12-17 21:30:05

您可以使用以下代码来获取所有费用并在购物车小计后显示,

代码语言:javascript
复制
<?php
function get_all_fees() {
    $fee_object = WC()->cart->fees_api();
    $allfeedata = $fee_object->get_fees();
    $totalfee = array_sum(array_column($allfeedata, 'amount'));
    ?>
                    <tr class="fee-total">
                <th><?php esc_html_e('Total Fee', 'woocommerce'); ?></th>
                <td data-title="<?php esc_attr_e('Total Fee', 'woocommerce'); ?>"><?php echo absint($totalfee); ?></td>
            </tr>
    <?php
}

add_action('woocommerce_cart_totals_before_order_total', 'get_all_fees');
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59367455

复制
相关文章

相似问题

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