首页 > 解决方案 > 添加到购物车 WooCommerce 后使用参数刷新当前页面

问题描述

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

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/"

标签: phpwordpresswoocommercerefreshhook-woocommerce

解决方案


我认为这应该有效:

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' );

推荐阅读