Woocommerce 使用传递的查询参数添加到购物车重定向挂钩

Woocommerce 使用传递的查询参数添加到购物车重定向挂钩,woocommerce,hook-woocommerce,Woocommerce,Hook Woocommerce,我试图使用woocommerce\u add\u to\u cart\u redirect将用户重定向到产品页面,并添加自定义查询数据 函数my\u custom\u add\u to\u cart\u redirect($url){ $currentProductUrl=“”; $redirectUrl=esc_url(add_query_arg('cart',true,$currentProductUrl)); 返回$URL; } 添加筛选器('woocommerce\u添加到\u购物车\u

我试图使用
woocommerce\u add\u to\u cart\u redirect
将用户重定向到产品页面,并添加自定义查询数据

函数my\u custom\u add\u to\u cart\u redirect($url){
$currentProductUrl=“”;
$redirectUrl=esc_url(add_query_arg('cart',true,$currentProductUrl));
返回$URL;
}
添加筛选器('woocommerce\u添加到\u购物车\u重定向',\u命名空间\u.'\\my\u custom\u添加到\u购物车\u重定向');

如何获取
$currentProductUrl

woocommerce\u add\u to\u cart\u redirect
hook中,只有在普通的add to cart(不使用Ajax add to cart)上有一个附加参数,即WC\u产品对象实例

通过这种方式,您可以获取产品permalink,并仅在单个“添加到购物车”中添加查询参数

add_filter( 'woocommerce_add_to_cart_redirect', 'my_custom_add_to_cart_redirect', 10, 2 );
function my_custom_add_to_cart_redirect( $url, $product ) {
    if ( $product && is_a( $product, 'WC_Product' ) ) {
        $url = esc_url( add_query_arg('cart', true, $product->get_permalink() ) );
    }
    return $url;
}
对于Ajax add to cart,该参数为null(请参见中的)