我有一个自定义的WooComerce产品类型,我需要从其中访问购物车网址。
看起来很简单:
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
可能有什么问题?
定义自定义产品类别时,$woocommerce
变量是否不可用?
如果是这样,是否有一些内部方法/变量可以访问它?(或者特别是购物车?
针对 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();
}
}