提问人:Tetra84 提问时间:9/15/2023 最后编辑:LoicTheAztecTetra84 更新时间:9/16/2023 访问量:62
从WooCommerce购物车中删除总计部分,同时保留小计行
Remove Totals section from WooCommerce Cart while keeping Subtotal line
问:
我从这里找到了一些代码: 如何从购物车和结帐页面 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">';
}
但是,它的工作原理是,Id 仍然喜欢保持小计可见。基本上,只需删除“购物车总数”和总数部分即可。这可能吗?
我尝试了上面的代码,它可以摆脱总计块中的所有内容,但我想尝试保留小计。
答:
1赞
LoicTheAztec
9/15/2023
#1
要在删除所有其他总计的同时保持购物车小计显示,请使用以下命令:
add_action( 'woocommerce_cart_collaterals', 'keep_only_cart_subtotal', 9 );
function keep_only_cart_subtotal(){
// Remove cart totals block
remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cart_totals', 10 );
// Add back Subtotal, "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 文件(或插件)。经过测试并工作。
评论