2016-04-24 47 views
4

我有自定義的WooComerce產品類型,並且需要從其中訪問購物車網址。WooCommerce無法從產品類訪問購物車

似乎很簡單:

class WC_Product_My_Product extends WC_Product_Simple { 

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

但是:

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

什麼可以possibily是錯誤的?

定義自定義產品類時$woocommerce變量是否不可用?

如果是這樣,是否有一些內部方法/變量來訪問它? (或車特別?)

回答

3

Updated for WC 3+

使用$woocommerce->cart = new WC_Cart();創建一個新的對象實例是一個明顯的解決方案,以避免錯誤:

class WC_Product_My_Product extends WC_Product_Simple { 

    public function some_method() { 
     WC()->cart = new WC_Cart(); 
     $href = WC()->cart->get_cart_url();  
    } 
} 
+0

謝謝,這並不能工作,但我增加了更多的代碼來提供更好的上下文。我在自定義產品類型類 – DavidTonarini

+1

@DavidTonarini中調用該方法如果可能的話,是否可以使用完整的解決方案編輯您的問題,如果其他人偶然發現此問題,他們會知道您做了什麼?謝謝! – Shawn

+1

@Shawn當然,我可以,但接受的答案已經有了所有的代碼。我認爲將問題保持原樣是標準做法,在這種情況下,因爲答案已經有了代碼?如果不是這樣,我將編輯問題 – DavidTonarini

相關問題