在“订单”页面中显示产品图片 - Woocommerce

时间:2015-06-13 00:04:02

标签: php wordpress woocommerce

我第一次和WC一起工作,我正在追逐我的尾巴。

在“订单”页面中,客户可以看到他们所做的所有购买,该数组显示了有关订单的一些基本信息。 我还需要展示客户购买产品的图像。

订单似乎是自定义帖子,但我如何获取图片产品?

我意识到问题太模糊了。任何指针都会有很大的帮助。

1 个答案:

答案 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(); } } 模板应该包含指向每个订单概览的链接。