与购物车一样,我怎样才能在Checkout页面中删除产品' x'链接?
有没有勾到那个?
感谢
答案 0 :(得分:6)
我遇到了同样的问题,并且找不到在Google上解决问题的方法。所以我自己尝试并找到了这个解决方案:
覆盖主题结帐页面上的woocommerce订单评论:
在结帐页面上为每件商品添加删除x按钮:
在新的review-order.php (yourtheme / woocommerce / checkout):
在商店桌子的头部添加<th class="product-remove"><?php _e( 'Remove', 'woocommerce' ); ?></th>
。
从默认的cart.php文件(l.54)中复制<td class="product-remove">
<?php
echo apply_filters( 'woocommerce_cart_item_remove_link', sprintf(
'<a href="%s" class="remove" aria-label="%s" data-product_id="%s" data-product_sku="%s">×</a>',
esc_url( WC()->cart->get_remove_url( $cart_item_key ) ),
__( 'Remove this item', 'woocommerce' ),
esc_attr( $product_id ),
esc_attr( $_product->get_sku() )
), $cart_item_key );
?>
</td>
(plugins / woocommerce / templates / cart)
将其粘贴在商店桌子的正文中。
我希望这会有所帮助,因为这是我在StackOF上的第一个答案, 它已经完成了我的工作,但它可能不是最好的方法。
期待新的答案;)
答案 1 :(得分:0)
我没有足够的代表对此发表评论,但是当有人在2018年11月偶然发现woocommerce v3.3.0的这篇文章时,jaks的回答使我占了90%的位置。
您还需要在foreach语句下添加以下行(也来自cart.php),以便定义$ product_id
$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
所以我们现在作为foreach声明的一部分
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
这将停止页面上的任何产品错误
答案 2 :(得分:0)
函数ns_woocommerce_checkout_remove_item链接到woocommerce_cart_item_name过滤器,该过滤器允许更改输出并在产品项名称周围添加链接(十字图标)。我们添加的链接基于WC()-> cart-> get_remove_url($ cart_item_key)函数,该函数为指定的购物车商品密钥创建一个URL。
将以下代码添加到主题的functions.php文件中。
function ns_woocommerce_checkout_remove_item( $product_name, $cart_item, $cart_item_key ) {
if ( is_checkout() ) {
$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
$remove_link = apply_filters( 'woocommerce_cart_item_remove_link', sprintf(
'<a href="%s" class="remove" aria-label="%s" data-product_id="%s" data-product_sku="%s">×</a>',
esc_url( WC()->cart->get_remove_url( $cart_item_key ) ),
__( 'Remove this item', 'woocommerce' ),
esc_attr( $product_id ),
esc_attr( $_product->get_sku() )
), $cart_item_key );
return '<span>' . $remove_link . '</span> <span>' . $product_name . '</span>';
}
return $product_name;
}
add_filter( 'woocommerce_cart_item_name', 'ns_woocommerce_checkout_remove_item', 10, 3 );