从WooCommerce中的订单页面、电子邮件通知和购物车+结账页面中删除小计行
我想从购物车、结账、收到的订单、订单详细信息和电子邮件中删除小计。我不想使用css,因为它不会从订单详细信息页面和电子邮件中删除引用。我已尝试此代码:
add_filter( 'woocommerce_get_order_item_totals', 'adjust_woocommerce_get_order_item_totals' );
function adjust_woocommerce_get_order_item_totals( $totals ) {
unset($totals['cart_subtotal'] );
return $totals;
}
它不起作用,小计在购物车和结账页面上可见。
是否还有其他功能,或者我是否必须在我的活动主题下创建一个单独的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;
}
代码放在活动子主题(活动主题)的函数.php文件中。已测试并正常工作。
2)购物车和结账页面:
您需要to create a separate "woocommerce" folder under your active theme以下模板:
for Cart-cart/cart-totals.php
|删除第32行到第35行的代码块:
<tr class="cart-subtotal">
<th><?php _e( 'Subtotal', 'woocommerce' ); ?></th>
<td data-title="<?php esc_attr_e( 'Subtotal', 'woocommerce' ); ?>"><?php wc_cart_totals_subtotal_html(); ?></td>
</tr>
For Check Out-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>
保存两个模板…您的工作完成了。
相关文章