如何从 WooCommerce 购物车中删除“总计”区域,但仍保留“小计”

问题描述 投票:0回答:1

我从这里找到了一些代码:如何从购物车和结账页面 woocommerce 中删除订单总额

这将使我从我的购物车页面中删除整个“购物车总计”块:

//removal of 'Total' block on cart page
add_action( 'woocommerce_cart_collaterals', 'remove_cart_totals', 9 );
function remove_cart_totals(){
    // Remove cart totals block
    remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cart_totals', 10 );

    // Add back "Proceed to checkout" button (and hooks)
    echo '<div class="cart_totals">';
    do_action( 'woocommerce_before_cart_totals' );

    echo '<div class="wc-proceed-to-checkout">';
    do_action( 'woocommerce_proceed_to_checkout' );
    echo '</div>';

    do_action( 'woocommerce_after_cart_totals' );
    echo '</div><br clear="all">';
}

它有效,但是,我想仍然保持小计可见。基本上,只需删除“购物车总计”和总计部分即可。这可能吗?

Picture of cart page

我尝试了上面的代码,它可以删除总计块中的所有内容,但我想尝试保留小计。

php templates woocommerce hook-woocommerce cart
1个回答
0
投票

要保留购物车小计显示,同时删除所有其他总计,请使用以下命令:

add_action( 'woocommerce_cart_collaterals', 'remove_cart_totals', 9 );
function remove_cart_totals(){
    // Remove cart totals block
    remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cart_totals', 10 );

    // Add back "Proceed to checkout" button (and hooks)
    printf('<div class="cart_totals%s">', ( WC()->customer->has_calculated_shipping() ) ? ' calculated_shipping' : '');

    do_action( 'woocommerce_before_cart_totals' );
    
    ?>
    <table cellspacing="0" class="shop_table shop_table_responsive">
    <tr class="cart-subtotal">
        <th><?php esc_html_e( 'Subtotal', 'woocommerce' ); ?></th>
        <td data-title="<?php esc_attr_e( 'Subtotal', 'woocommerce' ); ?>"><?php wc_cart_totals_subtotal_html(); ?></td>
    </tr>
    </table>
    <?php

    echo '<div class="wc-proceed-to-checkout">';

    do_action( 'woocommerce_proceed_to_checkout' );

    echo '</div>';

    do_action( 'woocommerce_after_cart_totals' );

    echo '</div><br clear="all">';
}

代码位于子主题的functions.php 文件中(或插件中)。已测试并工作。

© www.soinside.com 2019 - 2024. All rights reserved.