我正在与WC第一次合作,我正在追逐我的尾巴。在“订单”页面中显示商品图像 - Woocommerce
在“订单”页面中,顾客可以看到他们所做的所有购买,该数组显示了有关订单的一些基本信息。 我还需要显示客户购买的产品的图像。
订单似乎是自定义文章,但我如何获得图像产品?
我意识到这个问题太模糊。任何指针都会有很大的帮助。
我正在与WC第一次合作,我正在追逐我的尾巴。在“订单”页面中显示商品图像 - Woocommerce
在“订单”页面中,顾客可以看到他们所做的所有购买,该数组显示了有关订单的一些基本信息。 我还需要显示客户购买的产品的图像。
订单似乎是自定义文章,但我如何获得图像产品?
我意识到这个问题太模糊。任何指针都会有很大的帮助。
订单是shop_order
类型的自定义文章类型。订单本身并没有缩略图,但是订单有购买的产品列表,每个产品都有缩略图的可能性。
可以在order-details.php
模板看看如何将所有与任何订单对象相关的项目/产品... $order->get_items()
这将返回存储在单独的数据库表中的数据的数组。使用$item
变量,您可以获得原始产品,并且您可以在链接的模板中看到正在发送到order-details-item.php
的$product
变量定义为order->get_product_from_item($item)
。
无论如何,一旦你有$product
对象,你可以使用$product->get_image()
来检索产品的图像。
作为一个简单的例子,这将显示所有以购买产品的缩略图999
$order_id = 999;
$order = wc_get_order($order_id);
foreach($order->get_items() as $item_id => $item) {
$product = apply_filters('woocommerce_order_item_product', $order->get_product_from_item($item), $item);
echo $product->get_image();
}
嵌套这里面你的循环中:
foreach ($customer_orders as $customer_order) {
$order = wc_get_order();
$order->populate($customer_order);
foreach($order->get_items() as $item_id => $item) {
$product' = apply_filters('woocommerce_order_item_product', $order->get_product_from_item($item), $item);
echo $product->get_image();
}
}
虽然通常情况下,order-details.php
模板应该链接到每个订单的概述。
谢谢@helgatheviking!我能再问你一件事吗?在我使用的主题中,我有这个数组foreach($ customer_orders as $ customer_order){ \t $ order = wc_get_order(); \t $ order-> populate($ customer_order); \t $ item_count = $ order-> get_item_count();' 如何将它与您的代码结合? –
你可以'嵌套'foreach循环。 – helgatheviking
是的,我明白了。虽然你是救世主!一个注意事项:在你的代码中你写'$ product'='我是PHP的新手,但是你有一个报价,它会返回一个错误。只要报价被删除,错误也会被删除。 –