Bellow是我用来从购物车中获取产品的代码
global $woocommerce;
$items = WC()->cart->get_cart();
我在主题文件夹中的functions.php中有这个代码。
问题是每次运行此代码时,我总是会收到错误消息
"致命错误:在null"
上调用成员函数get_cart()
我错过了什么?
答案 0 :(得分:0)
你可以这样使用
global $woocommerce;
$items = $woocommerce->cart->get_cart();
foreach($items as $item => $values)
{
$_product = wc_get_product( $values['data']->get_id());
echo "<b>".$_product->get_title().'</b> <br> Quantity: '.$values['quantity'].'<br>';
$price = get_post_meta($values['product_id'] , '_price', true);
echo " Price: ".$price."<br>";
}
答案 1 :(得分:0)
您的代码有效,但是您可能是从后端或没有购物车的地方调用它的。您可能希望处理订单中的订单商品?
// Get an instance of the WC_Order object
$order = wc_get_order($order_id);
// Iterating through each WC_Order_Item_Product objects
foreach ($order->get_items() as $item_key => $item_values):
## Using WC_Order_Item methods ##
// Item ID is directly accessible from the $item_key in the foreach loop or
$item_id = $item_values->get_id();
## Using WC_Order_Item_Product methods ##
$item_name = $item_values->get_name(); // Name of the product
$item_type = $item_values->get_type(); // Type of the order item ("line_item")
endforeach;