我想在Woocommerce的帐户查看订单页面上添加图片。有人可以获取图片,但尺寸太大,我不知道在哪里添加此代码:
<?php
// Get a list of all items that belong to the order
$products = $order->get_items();
// Loop through the items and get the product image
foreach( $products as $product ) {
$product_obj = new WC_Product( $product["product_id"] );
echo $product_obj->get_image();
}
?>
任何帮助将不胜感激
这是我想添加产品图片的“查看订单”页面上的位置:
答案 0 :(得分:3)
以下挂钩函数可以完成(您可能需要添加一些CSS样式规则):
// Display the product thumbnail in order view pages
add_filter( 'woocommerce_order_item_name', 'display_product_image_in_order_item', 20, 3 );
function display_product_image_in_order_item( $item_name, $item, $is_visible ) {
// Targeting view order pages only
if( is_wc_endpoint_url( 'view-order' ) ) {
$product = $item->get_product(); // Get the WC_Product object (from order item)
$thumbnail = $product->get_image(array( 36, 36)); // Get the product thumbnail (from product object)
if( $product->get_image_id() > 0 )
$item_name = '<div class="item-thumbnail">' . $thumbnail . '</div>' . $item_name;
}
return $item_name;
}
代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。
注意,WC_Product
method get_image()
在内部使用Wordpress get_the_post_thumbnail()
。
更新:在代码中添加了
if( $product->get_image_id() > 0 )
,仅在产品图片存在时显示产品图片。
答案 1 :(得分:0)
您无需获取主图像,只需通过get_the_post_thumbnail()获取缩略图:
<?php
// Get a list of all items that belong to the order
$products = $order->get_items();
// Loop through the items and get the product image
foreach( $products as $product ) {
$product_obj = new WC_Product( $product["product_id"] );
echo get_the_post_thumbnail();
}
?>
答案 2 :(得分:0)
在woocommerce / template / order / ordr-details-item.php上写
;
Comic Sans MS/Comic Sans MS, cursive;Courier New/Courier New, Courier, monospace;Georgia/Georgia, serif;Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;Tahoma/Tahoma, Geneva, sans-serif;Times New Roman/Times New Roman, Times, serif;Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;Verdana/Verdana, Geneva, sans-serif";
这将为您提供80x80尺寸的图像,根据您的需要进行更改。