WooCommerce cannot access cart from product class

I have a custom WooComerce product type, and I need to access the cart url from within it.

Would seem simple enough:

Read More
class WC_Product_My_Product extends WC_Product_Simple {

 public function some_method() {
  global $woocommerce; 
  $href = $woocommerce->cart->get_cart_url();     
 }
}

However:

 Fatal error: Call to a member function get_cart_url() on a non-object

What can possibily be wrong?

Is the $woocommerce variable not available when defining a custom product class?

If so, is there some internal method / variable to access it? (Or the cart specifically?)

Related posts

1 comment

  1. Updated for WC 3+

    Using $woocommerce->cart = new WC_Cart(); to create a new object instance is an apparently the solution to avoid error:

    class WC_Product_My_Product extends WC_Product_Simple {
    
        public function some_method() {
            WC()->cart = new WC_Cart();
            $href = WC()->cart->get_cart_url();     
        }
    }
    

Comments are closed.