我正在尝试使用woocommerce_add_to_cart_redirect
将用户重定向到产品页面,并添加自定义查询数据。
function my_custom_add_to_cart_redirect( $url ) {
$currentProductUrl = "";
$redirectUrl = esc_url( add_query_arg('cart', true, $currentProductUrl ));
return $redirectUrl;
}
add_filter( 'woocommerce_add_to_cart_redirect', __NAMESPACE__ .'\\my_custom_add_to_cart_redirect' );
我如何获得$currentProductUrl
?
答案 0 :(得分:2)
在woocommerce_add_to_cart_redirect
钩子中,仅在普通添加到购物车(而不是Ajax添加到购物车)上有一个附加参数,即WC_Product对象实例。
通过这种方式,您可以获取产品永久链接,并仅在将其添加到购物车时将其查询参数添加到其中。
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,将添加到购物车的参数为空(请参见here中的内容)。