首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“添加到购物车”功能,而不是变量产品的“选择选项”按钮行为

“添加到购物车”功能,而不是变量产品的“选择选项”按钮行为
EN

Stack Overflow用户
提问于 2020-02-13 16:48:12
回答 2查看 6.5K关注 0票数 3

Woocommerce在产品循环中有两种按钮类型。

  • "add to cart“,用于在cart
  • 中添加简单产品,如果简单产品变成变量或添加了订阅选项,则”选择选项“。

我的背景:

所有Woocommerce产品都配置为简单产品和订阅产品,同时使用以下插件

  • "Woocommerce
  • 产品供Woocommerce订阅“。默认设置为简单产品.

现在,所有产品上的按钮从“添加到购物车”改为“选择选项”。这是Woocommerce的默认行为。

我的问题是:

我如何保持“添加到购物车”按钮和它的功能添加简单的产品到购物车,尽管有一个可变的产品?

其背后的逻辑是:用户有机会在结帐时做出选择,因此需要添加购物车功能,而不是重定向到单个产品页面,以便进行选择。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-13 18:43:56

您可以使用:(通过代码中添加的注释标记进行解释)

代码语言:javascript
运行
复制
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 );
票数 3
EN

Stack Overflow用户

发布于 2020-02-16 02:05:14

代码语言:javascript
运行
复制
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 );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60212849

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档