简体   繁体   English

WooCommerce重定向到添加到购物车上的产品类别

[英]WooCommerce redirect to product category on add to cart

I am trying to redirect a user to previous category page when he clicks on Add to Cart on product page. 当他单击产品页面上的添加到购物车时,我试图将用户重定向到上一个类别页面。 But on redirect I am seeing a blank product_cat attribute. 但是在重定向上,我看到一个空白的product_cat属性。 ie example.com/?product_cat= However if I echo it to woocommerce_product_thumbnail it shows the link perfectly. example.com/?product_cat=但是,如果我将其回显到woocommerce_product_thumbnail则会完美显示该链接。 ie example.com/?product_cat=shoes example.com/?product_cat=shoes

add_filter ('add_to_cart_redirect', 'redirect_to_previousCat');
//add_filter ('woocommerce_product_thumbnails', 'redirect_to_previousCat');
function redirect_to_previousCat() {
    global $woocommerce, $post;
    $product_cat_slug;
    $terms = get_the_terms( $post->ID, 'product_cat' );
foreach ($terms as $term) {
    $product_cat_slug = $term->slug;
    break;
}
$url=get_site_url().'?product_cat='.$product_cat_slug;
return $url;
}

As I mentioned in the comments, the global $post is not set up yet when the add_to_cart_action() method runs on the init hook. 正如我在评论中提到的那样,当add_to_cart_action()方法在init钩子上运行时,尚未设置全局$post

Instead, I suggest you follow Wootheme's lead and get the product ID from the $_REQUEST global. 相反,我建议您跟随Wootheme的思路,从$_REQUEST全局获取产品ID。

add_filter ('add_to_cart_redirect', 'redirect_to_previousCat');

function redirect_to_previousCat( $url ) {
    $product_id = absint( $_REQUEST['add-to-cart'] );
    $product_cat_slug = '';

    $terms = get_the_terms( $product_id, 'product_cat' );
    foreach ( $terms as $term ) {
        $product_cat_slug = $term->slug;
        break;
    }
    if( $product_cat_slug ){
        $url = add_query_arg( 'product_cat', $product_cat_slug, site_url() );
    }
    return $url;
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如果用户将特定类别的产品添加到购物车,则WooCommerce重定向 - WooCommerce Redirect if user add product from a certain category to cart Woocommerce添加到购物车重定向到父类别 - Woocommerce Add to Cart redirect to parent category 如果购物车包含特定的 Woocommerce 产品类别,则阻止添加到购物车 - Prevent add to cart if cart contains a specific Woocommerce product category 为产品类别替换 Woocommerce 单一产品页面上的“添加到购物车”按钮 - Replace Add to cart button on Woocommerce Single Product Pages for a product category 如何在 Woocommerce 中将特定类别的产品页面重定向到购物车页面 - How to Redirect specific category product pages to cart page in Woocommerce 更改Woocommerce 3中特定产品类别的“添加到购物车”文本 - Change the add to cart text for a specific product category in Woocommerce 3 如何隐藏添加到购物车按钮特定角色和产品类别 Woocommerce - How to hide add to cart button specific role and product category Woocommerce WooCommerce 3中定义的产品类别的自定义添加到购物车重定向 - custom add to cart redirection for a defined product category in WooCommerce 3 "允许将 Woocommerce 中特定产品类别的最多 3 个产品添加到购物车" - Allow add to cart 3 products max for a specific product category in Woocommerce 在WooCommerce中为特定产品类别自定义“添加到购物车”按钮 - Customize “Add to cart” button for a specific product category in WooCommerce
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM