我第一次和WC一起工作,我正在追逐我的尾巴。
在“订单”页面中,客户可以看到他们所做的所有购买,该数组显示了有关订单的一些基本信息。 我还需要展示客户购买产品的图像。
订单似乎是自定义帖子,但我如何获取图片产品?
我意识到问题太模糊了。任何指针都会有很大的帮助。
答案 0 :(得分:6)
订单是shop_order
类型的自定义帖子类型。订单本身没有缩略图,但订单包含已购买的产品列表,每个产品都有缩略图的可能性。
您可以在order-details.php
模板中看到如何获取与任何订单对象相关联的所有商品/产品...... $order->get_items()
这将返回存储在单独的数据库表中的数据数组。使用$item
变量,您可以获取原始产品,并且您可以在链接模板中看到发送到$product
的{{1}}变量定义为order-details-item.php
。
无论如何,一旦拥有order->get_product_from_item( $item )
对象,您就可以使用$product
来检索产品的图像。
作为一个简化示例,这将显示按顺序999购买的所有产品的缩略图。
$product->get_image()
将其嵌入循环内:
$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();
}
}
模板应该包含指向每个订单概览的链接。