自定义添加到购物车在Woocommerce中特定产品的按钮URL?
问题描述:
我希望用户在点击“添加到购物车”按钮时被定向到某个URL。目前我有这样的:自定义添加到购物车在Woocommerce中特定产品的按钮URL?
/**
* Set a custom add to cart URL to redirect to
* @return string
*/
function custom_add_to_cart_redirect() {
return 'http://www.yourdomain.com/your-page/';
}
add_filter('woocommerce_add_to_cart_redirect',
'custom_add_to_cart_redirect');
但是,这重定向所有添加到购物车按钮,我怎样才能使产品特定的URL?谢谢
答
add_filter('woocommerce_add_to_cart_redirect', 'productbase_redirect_on_add_to_cart');
function productbase_redirect_on_add_to_cart() {
//Get product ID
if (isset($_POST['add-to-cart'])) {
$product_id = (int) $_POST['add-to-cart'] ;
}
// set redirect with product id here
}
答
您需要使用一些条件逻辑来修改返回的url,当满足这些条件时。当添加到购物车的产品的ID为999时,以下内容将更改网址。
add_filter('woocommerce_add_to_cart_redirect', 'custom_add_to_cart_redirect');
function custom_add_to_cart_redirect($url) {
// The product ID you want a specific redirect for
$matched_id = 999;
// If product ID matches, modify redirect
if (isset($_POST['add-to-cart'])) && $matched_id = (int) $_POST['add-to-cart']) {
$url = 'http://www.yourdomain.com/your-page/';
}
// always return a value
return $url;
}