WooCommerce - 获取当前购物车表(在下订单之前)

时间:2017-06-08 11:38:13

标签: wordpress woocommerce

我正在尝试使用当前会话获取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

1 个答案:

答案 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被初始化,购物车对象不是空的,我可以获得包含所有产品及其详细信息的购物车