我正在尝试使用当前会话获取woocommerce中的当前购物车表(因为我需要能够在下订单之前获取购物车(用于报价)。
我试过这个
WC()->cart->get_cart()
以及
$items = $woocommerce->cart->get_cart();
但它们不起作用(调试器显示然后失败调用(按顺序)这些功能:
public function __destruct() {} from wp-db.php
public function __destruct() {} from cache.php
function shutdown_action_hook() from load.php
知道为什么吗?我在这做错了什么?
WooCommerce版本 2.6.7
Wordpress版本 4.7.2
答案 0 :(得分:1)
事实证明,问题是当我的网页被调用时,woocommerce没有被初始化。 当我检查购物车对象时,它是空的。
然后我下载了一个类似的插件,我目前正在做他们正在做的事情,在我的页面加载之前初始化woocommerce,这是添加这些行:
include_once( WC()->plugin_path() . '/includes/abstracts/abstract-wc-session.php' );
include_once( WC()->plugin_path() . '/includes/wc-cart-functions.php' );
include_once( WC()->plugin_path() . '/includes/wc-notice-functions.php' );
WC()->session = new WC_Session_Handler();
WC()->cart = new WC_Cart();
WC()->customer = new WC_Customer();
现在woocommerce被初始化,购物车对象不是空的,我可以获得包含所有产品及其详细信息的购物车