【问题标题】:Woocommerce how to click a button to add to cart and checkout?Woocommerce 如何单击按钮添加到购物车和结帐?
【发布时间】:2020-12-05 21:34:18
【问题描述】:

目标:

我希望客户点击一个按钮,将数量 = 1 的商品添加到购物车,然后自动转到结帐页面。

我做了什么:

我正在使用 Elementor 添加一个 href 值为:

https://fakeurl.com/checkout/?add-to-cart=59

问题:

单击按钮后,它将转到结帐页面,但它会在购物车中添加 2 个数量而不是 1 个。

我的尝试:

在 href 中明确指定数量计数:

https://fakeurl.com/checkout?add-to-cart=59&quantity=1

但我得到了相同的结果。

我的结帐页面只是一个简单的页面,有 2 个简码,即 woocommerce_cart 和 woocommerce_checkout:

知道为什么吗?在按下上述按钮之前我需要清空购物车吗?

【问题讨论】:

  • 投反对票的原因?
  • 您是否尝试过只使用一个短代码 - 特别是 [woocommerce_checkout] ?

标签: wordpress woocommerce elementor


【解决方案1】:

像你已经做的那样使用你的链接结构 > ?add-to-cart=59&quantity=1 并在你的主题中添加下面的代码 functions.php 来做检查

这种代码和平所做的唯一事情就是循环您的购物车以查看该产品是否已经存在.. 如果它存在 - 它会将 $valid var 设置为 false

function is_product_in_cart( $valid, $product_id, $quantity) {
    global $woocommerce;
    if($woocommerce->cart->cart_contents_count == 0) return true;
    foreach ( $woocommerce->cart->get_cart() as $key => $values ) {
        $_product = $values['data'];
        $id = $_product->id ;
        if( $product_id == $id )  $valid = false;
    }
    return $valid;
}
add_filter( 'woocommerce_add_to_cart_validation', 'is_product_in_cart', 10, 3 );

【讨论】:

    【解决方案2】:

    Woocommerce 默认流程是,只要您添加购物车中已有的商品,它就会将数量添加到购物车中。

    1. 将新产品添加到购物车时清空您的购物车,以便购物车中只剩下一个。

    【讨论】:

      【解决方案3】:

      在大多数情况下,由于您被重定向,数量会翻倍。 因此添加了数量,并且在重定向后再次添加了数量。

      造成这种情况的原因可能有几个。

      1. 主题或 wordpress 永久链接设置正在添加或删除 // 在链接中
      2. 您的结帐页面未在 woocommerce 设置中设置(woocommerce->高级设置->页面设置)

      如何检查您是否被重定向(chrome)
      在 Chrome 检查器的顶部(在“网络”选项卡中)是一个复选框,上面写着“保留日志”。启用此选项。现在,页面如何导航已经无关紧要,检查器将保留所有日志历史记录——包括重定向响应。 (在这里找到:See full redirect path and HTTP status code in Chrome

      可能的解决方案

      1. “在档案中启用 AJAX 添加到购物车按钮”(WooCommerce -> 设置 -> 产品 -> 常规) 在这里找到 (https://www.businessbloomer.com/woocommerce-custom-add-cart-urls-ultimate-guide/)
        这在为购物车和结账设置自定义页面时有时会有所帮助。
      2. 在 WooCommerce > 设置 > 产品下禁用“成功添加后重定向到购物车页面”。
        由于您链接到结帐页面,这会将您再次重定向到购物车页面。

      【讨论】:

        猜你喜欢
        • 2013-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-30
        • 1970-01-01
        • 2018-09-10
        • 2012-08-30
        • 1970-01-01
        相关资源
        最近更新 更多