我想从购物车,结帐,收到的订单,订单明细和电子邮件中删除小计。我不想使用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文件夹,然后从模板中删除“小计”的所有引用。
答案 0 :(得分:1)
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)对于购物车和结帐页面:
您需要to create a separate "woocommerce" folder under your active theme用于以下模板:
对于购物车-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>
用于结帐-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>
保存两个模板...完成。