对于我的WooCommerce商店,我正在编写一个插件,当放置一个项目时,创建一个带有提货单和送货标签的PDF。这一切都工作,除了我似乎不能得到的项目在订单中,我可以得到订单状态和其他部分的订单只是不是项目。
// Getting an instance of the WC_Order object from a defined ORDER ID
$order = wc_get_order( $order_id );
// Iterating through each "line" items in the order
foreach ($order->get_items() as $item_id => $item ) {
// Get an instance of corresponding the WC_Product object
$product = $item->get_product();
$product_name = $item->get_name(); // Get the item name (product name)
$item_quantity = $item->get_quantity(); // Get the item quantity
// Add item name and quantity to the PDF (Picking List)
$pdf->Cell(0, 10, "Product name: '.$product_name.' | Quantity: '.$item_quantity.'", 0, 1);
}
我尝试将项目推到调试日志,但它没有显示项目的详细信息,所以我认为这是我获取项目的方式,而不是将它们写入PDF的错误。
1条答案
按热度按时间ca1c2owp1#
首先,你需要确保你得到了正确的订单ID,因为没有它,什么都不起作用(正如你所描述的)。
尝试启用
WP_DEBUG
,如如何在WooCommerce 3+中调试答案中所述。然后在
$order = wc_get_order( $order_id );
之前插入以下 (临时,用于调试):然后,当您确定拥有与订单相关的正确订单ID时,可以删除调试代码并禁用
WP_DEBUG
。现在,在最后一行代码中有一个小错误 (双引号与单引号字符串连接问题):
需改为:
或与:
应该可以的
相关信息: