Woocommerce在产品循环中有两种按钮类型。
我的背景:
所有Woocommerce产品都配置为简单产品和订阅产品,同时使用以下插件
现在,所有产品上的按钮从“添加到购物车”改为“选择选项”。这是Woocommerce的默认行为。
我的问题是:
我如何保持“添加到购物车”按钮和它的功能添加简单的产品到购物车,尽管有一个可变的产品?
其背后的逻辑是:用户有机会在结帐时做出选择,因此需要添加购物车功能,而不是重定向到单个产品页面,以便进行选择。
发布于 2020-02-13 18:43:56
您可以使用:(通过代码中添加的注释标记进行解释)
function filter_woocommerce_loop_add_to_cart_link( $args, $product ) {
// Shop page & product type = simple
if ( is_shop() && $product->product_type === 'simple' ) {
// Get product ID, sku & add to cart url
$product_id = $product->get_id();
$product_sku = $product->get_sku();
$product_url = $product->add_to_cart_url();
// Quantity & text
$quantity = isset( $args['quantity'] ) ? $args['quantity'] : 1;
$text = $product->add_to_cart_text();
$args = '<a rel="nofollow" href="' . $product_url . '" data-quantity="' . $quantity . '" data-product_id="' . $product_id . '" data-product_sku="' . $product_sku . '" class="button product_type_simple add_to_cart_button ajax_add_to_cart add-to-cart" aria-label="Add to cart"><em>' . $text . '</em></a>';
}
return $args;
}
add_filter( 'woocommerce_loop_add_to_cart_link', 'filter_woocommerce_loop_add_to_cart_link', 10, 2 );发布于 2020-02-16 02:05:14
function filter_woocommerce_loop_add_to_cart_link( $link, $product ) {
if ( is_shop() && $product->product_type === 'simple' ) {
$product_id = $product->get_id();
$product_sku = $product->get_sku();
$link = '<a rel="nofollow" href="?add-to-cart=' . $product_id . '" data-quantity="1" data-product_id="' . $product_id . '" data-product_sku="' . $product_sku . '" class="button product_type_simple add_to_cart_button ajax_add_to_cart add-to-cart" aria-label="Add to cart"><em>Add to cart</em></a>';
}
return $link;
}
add_filter( 'woocommerce_loop_add_to_cart_link', 'filter_woocommerce_loop_add_to_cart_link', 10, 2 );https://stackoverflow.com/questions/60212849
复制相似问题