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