WooCommerce 在结账时删除产品按钮

WooCommerce remove product button in checkout

我们正在使用 PHP 字符串来启用在结帐时删除产品的选项。

以下代码:

    /**
 * Allows to remove products in checkout page.
 * 
 * @param string $product_name 
 * @param array $cart_item 
 * @param string $cart_item_key 
 * @return string
 */
function lionplugins_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" rel="nofollow" class="remove-icon" style="float:left;">x</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;
}

但是排版有点乱

有没有办法强制 table 结构让它总是浮动得远 left/right?就像强制浮动,或一种“单独的”table 列,仅用于删除按钮。我尝试调整图标的 CSS 并添加更多填充或更改图标类型但没有成功。

对 PHP 和编码仍然一无所知,因此非常感谢任何帮助或指导。

编辑: 我相信这是其他人的答案 - Woocommerce : How to remove product lines on Checkout page?

但是我们使用的是“WooCommerce 复合产品”,它使 a.remove 按钮浮动在不同的位置,如上图所示。

通过以下方式解决 -

改用这个:'<a href="%s" class="remove" title="%s" data-product_id="%s" data-product_sku="%s">&times;</a>',

并且 CSS 删除了删除图标

td.product-name a.remove {
    display:none !important;
    }

然后简单地在 table 的末尾添加了函数。