【问题标题】:How to make a redirection to checkout on a custom add to cart button in WooCommerce如何在 WooCommerce 中的自定义添加到购物车按钮上重定向到结帐
【发布时间】:2021-02-22 12:40:22
【问题描述】:

我正在使用 WooCommerce 并将以下代码添加到 functions.php:

add_filter( 'woocommerce_product_add_to_cart_url', 'custom_fix_for_individual_products', 10, 2 );

function custom_fix_for_individual_products( $add_to_cart_url, $product ){
    $add_to_cart_url = wc_get_checkout_url();
    return $add_to_cart_url;
}

我期望的是,当用户将产品添加到他们的购物篮时:此代码会将用户重定向到结帐页面,而不会实际将产品添加到购物篮中。但是,它仍将产品添加到购物篮中。这段代码有什么问题?

背景: 我正在使用 Uncaught Error: Call to a member function generate_cart_id() on null 答案代码,但它不能正确地用于上述行,这就是为什么我现在只使用那条线。服务器日志中没有错误。

【问题讨论】:

  • 产品加入购物车后,钩子woocommerce_product_add_to_cart_url会被触发……另外,如果购物车中没有产品,您将无法访问结帐页面。
  • 感谢@LoicTheAztec,但如果产品已经在购物车中,它也不起作用。它只是刷新页面https://example.com/?add-to-cart=99,既不进入购物车也不进入结帐页面。 example.com/shop/ 上的“添加到购物车”按钮(由 woocommerce 自动生成)确实有效。但是我主页上的自定义按钮没有。
  • 看源码,首页的按钮是:<a class="wp-block-button__link xxx" href="/?add-to-cart=815">Product</a>。在商店中,“添加到购物车”按钮现在指向结帐,因为产品已经在购物车中:<a href="https://example.com/checkout/" data-quantity="1" class="button product_type_course add_to_cart_button ajax_add_to_cart" data-product_id="99" data-product_sku="" aria-label="Read more about “xxx”" rel="nofollow">Add to cart</a>
  • 你应该尝试使用https://example.com/checkout/?add-to-cart=99作为链接而不是https://example.com/?add-to-cart=99 Th
  • 是的,这样就可以了,谢谢!你会添加是作为答案吗?

标签: php wordpress woocommerce product hook-woocommerce


【解决方案1】:

根据您的评论,要重定向到自定义添加到购物车按钮的结帐页面,您可以将链接更改为 https://example.com/checkout/?add-to-cart=99 之类的东西,其中 99 是产品 ID你想加入购物车。

因此,您的自定义添加到购物车按钮链接的代码将类似于 (其中 99 是产品 ID)

$product_id = 99;
$url        = wc_get_checkout_url() . '?add-to-cart=' . $product_id;

【讨论】:

  • 不知道自 woocommerce 5.7.1 以来这是否发生了变化,但是当我尝试时它说:请访问 {the_product} 选择产品选项。如果产品是可变的,我想它不会起作用..
  • 更新:它有效,但您需要为可变产品放置 variant_id 而不是 product_id。例如 ?add-to-cart=variant_id&add-to-cart=variant_id 等
猜你喜欢
  • 2013-03-13
  • 2014-08-30
  • 2020-04-04
  • 1970-01-01
  • 2020-09-01
  • 2017-10-10
  • 2016-09-05
  • 2015-12-04
  • 2021-04-21
相关资源
最近更新 更多