
如何在WooCommerce中隐藏购物车小计
如果你想隐藏WooCommerce购物车页面中的小计行,你可以使用CSS或你可以使用取消设置car_subtotal值的过滤器钩子。这是一个简单的过程,你可以在WordPress主题中实施。
在WooCommerce中删除购物车小计
你可以在“functions.php”中添加一个代码片段,以使用过滤器钩子去除小计。或者,你可以使用CSS显示属性来定位具有该行的div元素并将其设置为隐藏。

使用代码将WooCommerce中的购物车小计隐藏
WooCommerce使用CSS隐藏购物车小计
要使用CSS隐藏订单小计行,你应该使用浏览器上的检查元素工具来获取显示此文本的div元素,当你选择此div时,将显示属性应用到none(不选),如下所示隐藏小计行购物车页面。
以下是你应该添加到主题CSS或自定义程序额外CSS区域的代码:
.cart-subtotal {
display: none;
}你还可以使用可见性属性,如下面的代码所示:
.cart-subtotal {
visibility: hidden;
}将此代码添加到子主题的样式表,或者添加定制器并保存更改以隐藏购物车中的小计一行。
这种隐藏不会完全删除购物车小计,它只是隐藏以完全移除它,所以你需要添加一个过滤器钩子。
WooCommerce使用过滤器钩子删除小计
要使用过滤器从购物车和订单页面中删除小计,你应该将此代码添加到“functions.php”文件。
1) 移除购物车总数:
// 在购物车页面
add_action( 'woocommerce_cart_collaterals', 'remove_cart_totals', 9 );
function remove_cart_totals(){
// 删除购物车总计
remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cart_totals', 10 );
// 添加返回“继续结帐”按钮(和钩子)
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">';
}2)移除结帐总数:
// 在结账页面
add_action( 'woocommerce_checkout_order_review', 'remove_checkout_totals', 1 );
function remove_checkout_totals(){
// 删除购物车总计
remove_action( 'woocommerce_checkout_order_review', 'woocommerce_order_review', 10 );
}总结
在这篇文章中,我们研究了可用于在WooCommerce购物车页面中删除小计的两个选项。如果你只是想隐藏小计,你只需要使用CSS,因为它不那么复杂且易于添加到任何WordPress主题中。
附:从WooCommerce购物车和结帐页面中删除小计行
1) 可用于所有订单页面和邮件通知(收到订单、订单支付、订单详情和邮件模板)
代码有效的从总计行中删除小计行:
add_filter( 'woocommerce_get_order_item_totals', 'remove_subtotal_from_orders_total_lines', 100, 1 );
function remove_subtotal_from_orders_total_lines( $totals ) {
unset($totals['cart_subtotal'] );
return $totals;
}代码可贴于活跃子主题的function.php文件中,测试有效。

删除WooCommerce购物车和结帐页面中的小计行
2) 用于购物车和结帐页面:
需要在活跃主题下为以下模板创建一个单独的“woocommerce”文件夹:
对于购物车页面 - cart/cart-totals.php | 删除第32至35行的代码块:
<tr class="cart-subtotal">
<th><?php _e( 'Subtotal', 'woocommerce' ); ?></th>
<td data-title="<?php esc_attr_e( '小计', 'woocommerce' ); ?>"><?php wc_cart_totals_subtotal_html(); ?></td>
</tr>对于结帐页面 - checkout/review-order.php | 删除第58行到第61行的代码块:
<tr class="cart-subtotal">
<th><?php _e( 'Subtotal', 'woocommerce' ); ?></th>
<td><?php wc_cart_totals_subtotal_html(); ?></td>
</tr>保存这两个模板…… 完美完成。
续:如何删除WooCommerce产品页面中的类别和标签?
可以把下面的代码添加到子主题的functions.php文件中。
/* 从单个产品中删除类别 */ remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
或者有另一种方法可以从WooCommerce产品页面隐藏类别。
以下是可以在外观 > 自定义 > 额外CSS中添加的代码:
.product_meta .posted_in {display: none !important;}
如果想在WooCommerce产品页面中删除类别和标签,那么你可以在CSS中使用以下代码:
.product_meta{
display: none !important;
}这样就可以完美移除WooCommerce类别和标签了!

