2

After adding a certain product to the cart I would like the user to be redirected to a different page. I have tried several snippets from around the web, but all of my conditional logic returns null or 0 when I enter it in functions.php. I have tried conditions based on the page, the product, and the category. This is the latest snippet I found from another answer on here and it's not working for me, any idea why?

    add_filter ('add_to_cart_redirect', 'redirect_to_checkout');
    function redirect_to_checkout() {
            global $woocommerce;
            //Get product ID
            $product_id = (int) apply_filters('woocommerce_add_to_cart_product_id', $_POST['product_id']);
            //Check if product ID is in a certain taxonomy
            if( has_term( 'sidestix', 'product_cat', $product_id ) ){
                        //Get cart URL
                        $checkout_url = get_permalink(get_option('woocommerce_checkout_page_id'));
                        //Return the new URL
                        return $checkout_url;
             }
    }
KPL
  • 31
  • 5

1 Answers1

1

I finally found a working snippet on a different forum. I can see the difference, but I'm not sure why it works.

    add_filter ('add_to_cart_redirect', 'redirect_to_checkout');
    function redirect_to_checkout() {
            global $woocommerce;

            //Get product ID
            $product_id = apply_filters( 'woocommerce_add_to_cart_product_id', absint($_REQUEST['add-to-cart'] ) );
            //Check if product ID is in a certain taxonomy
            if( has_term( 'Philanthropy', 'product_cat', $product_id ) ){
                        //Get cart URL
                        $checkout_url = get_permalink(get_option('woocommerce_checkout_page_id'));
                        //Return the new URL
                    return $checkout_url;
             };
    }
KPL
  • 31
  • 5
  • Thanks! For me this only worked after I changed "add_to_cart_redirect" to "woocommerce_add_to_cart_redirect" and disabled "Enable AJAX add to cart buttons on archives" in WooCommerce > Settings > Products > Display – Zade Jun 30 '16 at 21:55