从Woocommerce中的购物车和结帐页面中删除小计行

时间:2018-11-13 09:35:15

标签: php templates woocommerce cart checkout

我想从购物车,结帐,收到的订单,订单明细和电子邮件中删除小计。我不想使用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 个答案:

答案 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文件中。经过测试,可以正常工作。

enter image description here

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>

保存两个模板...完成。