我从这里找到了一些代码:如何从购物车和结账页面 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">';
}
它有效,但是,我想仍然保持小计可见。基本上,只需删除“购物车总计”和总计部分即可。这可能吗?
我尝试了上面的代码,它可以删除总计块中的所有内容,但我想尝试保留小计。
要保留购物车小计显示,同时删除所有其他总计,请使用以下命令:
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 文件中(或插件中)。已测试并工作。