将产品图片添加到Woocommerce我的帐户订单视图

时间:2018-06-19 20:05:53

标签: wordpress image woocommerce hook-woocommerce orders

我想在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();

    }
?>   

任何帮助将不胜感激

这是我想添加产品图片的“查看订单”页面上的位置:

view order

3 个答案:

答案 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文件中。经过测试,可以正常工作。

enter image description here

注意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尺寸的图像,根据您的需要进行更改。