【问题标题】:Refresh current page with parameter after adding to cart WooCommerce添加到购物车 WooCommerce 后使用参数刷新当前页面
【发布时间】:2019-08-14 07:49:53
【问题描述】:

现在我正在使用此功能将产品添加到带有产品网格的页面上的购物车后重定向到结帐页面:

function bbloomer_redirect_checkout_add_cart( $url ) {
$url = get_permalink( get_option( 'woocommerce_checkout_page_id' ) );
return $url;
}

add_filter( 'woocommerce_add_to_cart_redirect', 'bbloomer_redirect_checkout_add_cart' );

而不是这个,我希望当前页面重新加载一个参数。例如

?addedtocart=productname。有什么函数或者钩子吗?

编辑:

在编辑函数时:

function bbloomer_redirect_checkout_add_cart( $url ) {
$url = var_dump($url);
return $url;
}

add_filter( 'woocommerce_add_to_cart_redirect', 'bbloomer_redirect_checkout_add_cart' );

输出是这样的: string(0) "" string(41) "http://URL/winkelmand/"

【问题讨论】:

  • 在函数的$url = 部分之后添加此代码:var_dump($url); 并使用输出编辑您的问题
  • 查看我编辑的问题

标签: php wordpress woocommerce refresh hook-woocommerce


【解决方案1】:

我认为这应该可行:

function bbloomer_redirect_checkout_add_cart( $url ) {
   $param = $_REQUEST['add-to-cart'];
   $glue = (strpos($_SERVER['REQUEST_URI'], '?') !== false) ? '&' : '?';
   $url = $_SERVER['REQUEST_URI'].$glue.'addedtocart='.$param;
   return $url;
}

add_filter( 'woocommerce_add_to_cart_redirect', 'bbloomer_redirect_checkout_add_cart' );

【讨论】:

  • 你好,这个导航到产品页面,链接如下:URL/product/aquazoo/?addedtocart=98我希望它用这个链接刷新产品网格页面
  • 您需要使用 REFERER 而不是 REQUEST_URI
  • 当使用 REFERER 时,它仍然会转到产品页面,而不是刷新当前页面
  • 嗨,Giacomo M,你看到我的反应了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多