我只想删除购物车和结帐页面上的全部行,而不是整个块。 我找不到任何操作或过滤器来删除总计,但仍要保留小计。 我正在使用下面的代码,但它隐藏了整个订单块,并且也没有将其从结帐后生成的帐单中删除
add_action( 'woocommerce_checkout_order_review', 'remove_checkout_totals', 1 );
function remove_checkout_totals()
{remove_action( 'woocommerce_checkout_order_review', 'woocommerce_order_review', 10 );}
答案 0 :(得分:1)
您将找不到为“总计”行指定的任何钩子,因为它们在模板中进行了硬编码,这是通过修改这些页面模板从购物车页面和结帐页面中删除总计行的唯一方法,并且您需要执行以下操作几个步骤如下:
woocommerce
的子主题中创建文件夹。woocommerce
内创建两个文件夹,分别名为名称checkout
和cart
。review-order.php
的文件放在checkout
文件夹中,然后cart-totals.php
放在cart
文件夹中,然后从您可以在其中找到的原始文件中复制内容wp-content/plugins/woocoomerce/templates/checkout/review-order.php
和wp-content/plugins/woocoomerce/templates/cart/cart-totals.php
最后一步:
在两个文件中都找到以下行并将其删除:
<tr class="order-total">
<th><?php _e('Total', 'woocommerce'); ?></th>
<td><?php wc_cart_totals_order_total_html(); ?></td>
</tr>
收到订单页面
要从收到的订单中删除总计,您可以使用woocommerce_get_order_item_totals
钩子并按如下所示取消设置总计:
add_action('woocommerce_get_order_item_totals', 'remove_total', 10, 1);
function remove_total($array)
{
unset($array['order_total']);
return $array;
}
将上面的代码放入您的functions.php
就是这样。