【发布时间】:2021-10-13 17:05:46
【问题描述】:
我已经为此工作了两个多月,我意识到我需要帮助。虽然我从阅读和学习中汲取了很多精力,但我并不完全理解其他人告诉我的一些内容。
由于这是一个学校项目,我很感激我能得到的任何帮助,并且请 - 无论你建议或告诉我做什么,请解释一下,以便我可以跟进。
想法: WooCommerce 的单页结账,客户可以在其中更改数量并删除产品。
当前设计: 请看图。View image in a new tab.
所需设计: 数量字段应“向上”移动并靠近“删除”链接。
我不知道如何做到这一点,也不知道这段代码总体上是否是最优的。如果有关于如何使其更好或更清洁或更优化的建议,请告诉我。
这是完整的代码:
add_filter( 'woocommerce_checkout_cart_item_quantity', 'qty_change_remove_item_checkout_order_review', 1000, 3);
function qty_change_remove_item_checkout_order_review( $quantity_html, $cart_item, $cart_item_key ) {
$_product = $cart_item['data'];
if ( $_product->is_sold_individually() ) {
$product_quantity = sprintf('<input type="hidden" name="cart[%s][qty]" value="" />', $cart_item_key);
} else {
$product_quantity = woocommerce_quantity_input(
array(
'input_name' => "cart[{$cart_item_key}][qty]",
'input_value' => $cart_item['quantity'],
'max_value' => $_product->get_max_purchase_quantity(),
'min_value' => '1',
'class' => 'qtyinput',
'placeholder' => 'Qty',
'product_name' => $_product->get_name(),
),
$_product,
false
);
}
$cart = WC()->cart->get_cart();
foreach ( $cart as $cart_key => $cart_value ) {
if ( $cart_key == $cart_item_key ) {
$product_id = $cart_item['product_id'];
$_product = $cart_item['data'] ;
if ( ! wp_is_mobile() ) {
$remove_product = sprintf(
'<a href="%s" class="remove-product" title="%s" data-product_id="%s" data-product_sku="%s" data-cart_item_key="%s">Remove</a>',
esc_url( wc_get_cart_remove_url( $cart_key ) ),
__( 'Remove from this order', 'woocommerce' ),
esc_attr( $product_id ),
esc_attr( $_product->get_sku() ),
esc_attr( $cart_item_key )
);
} else {
$remove_product = sprintf(
'<a href="%s" class="remove-product-mobile" title="%s" data-product_id="%s" data-product_sku="%s" data-cart_item_key="%s">☒</a>',
esc_url(wc_get_cart_remove_url($cart_key)),
__( 'Remove from this order', 'woocommerce' ),
esc_attr( $product_id ),
esc_attr( $_product->get_sku() ),
esc_attr( $cart_item_key )
);
}
}
}
return '<br><span class="product-quantity">' . sprintf( 'Qty: %s', $cart_item['quantity'] ) . ' / ' . $remove_product . '</span>'.$product_quantity.'';
}
【问题讨论】:
标签: javascript jquery css woocommerce