我想取消设置一些WooCommerce会话变量,因为在页面加载时,我正在使用的挂钩尚未触发,这会留下以前的会话数据填充签出传送表。
在从钩子回调访问的任何函数中,我都可以访问WooCommerce会话变量,如:
WC()->session->get(\'foo\');
然而,在这些回调之外,
WC
未定义。我尝试设置:
global $woocommerce;
和通过访问$woocommerce->session->__unset(\'foo\');
但得到通知:
尝试获取非对象的属性
以及错误:
致命错误:未捕获错误:调用null上的成员函数\\uu unset()
所以,很明显$woocommerce
全局与WC
(我猜是被钩子钩住了?)
我想我可以使用签出页面上启动的第一个钩子之一取消设置这些变量,但这让我想知道:
两者的区别是什么WC()
和$woocommerce
? 它们不是都是访问WooCommerce方法的方法吗?