【问题标题】:Wordpress - woocommerce - myaccount/orders-list.php - get products imagesWordpress - woocommerce - myaccount/orders-list.php - 获取产品图片
【发布时间】:2019-12-11 14:08:54
【问题描述】:

我已经制作了自定义 order-list.php 模板,但我想在这里有产品图片。 每个订单始终只有一种产品,因此始终只有一张缩略图。我怎样才能得到这张照片的网址?

如果需要我的代码:

 <?php foreach ( $customer_orders->orders as $customer_order ) {
                $order      = wc_get_order( $customer_order ); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
                $item_count = $order->get_item_count() - $order->get_item_count_refunded();

                ?>               
                        <div class="product_list">
                                    <div class="product_item">
                                        <div class="product_home">
                                            <div class="text-center">
                                                <a href="<?php echo esc_url( $order->get_view_order_url() ); ?>" title="<?php echo esc_html( _x( '#', 'hash before order number', 'woocommerce' ) . $order->get_order_number() ); ?>">

//i want to place image here

</a>
                                            </div>
                                            <div class="content_product_home">
                                                <a href="<?php echo esc_url( $order->get_view_order_url() ); ?>" title="<?php echo esc_html( _x( '#', 'hash before order number', 'woocommerce' ) . $order->get_order_number() ); ?>"><h4> Zamówienie <?php echo esc_html( _x( '#', 'hash before order number', 'woocommerce' ) . $order->get_order_number() ); ?></h4></a>

                                                <p><?php echo $order->get_formatted_order_total() ?><span class="per_month">including tax</span></p>

                                            </div>
                                            <div class="text-center">
                                                <a href="<?php echo esc_url( $order->get_view_order_url() ); ?>" class="btn btn-more" title="Details">Details</a>
                                            </div>
                                        </div>
                                    </div>
                        </div>
                <?php } ?>

谢谢! :)

【问题讨论】:

    标签: wordpress woocommerce orders


    【解决方案1】:

    您可以使用 wp_get_attachment_image_src() 获取图像,只需先从 $order->get_items() 获取产品 id,如下所示:

            foreach ( $customer_orders->orders as $customer_order ) {
                $order      = wc_get_order($customer_order); // phpcs:ignore WordPress.WP.GlobalVariablesOverride.OverrideProhibited
                $item_count = $order->get_item_count() - $order->get_item_count_refunded();
    
                    // first get product id
                foreach($order->get_items() as $order_key => $order_value) {
                  $product_id = $order_value->get_data()['product_id'];
                }
                    // get image
                    if (isset($product_id)) {   
                        $image = wp_get_attachment_image_src( get_post_thumbnail_id($product_id));
                    }
                ?>
                <div class="product_list">
                    <div class="product_item">
                        <div class="product_home">
                            <div class="text-center">
                                <a href="<?php echo esc_url($order->get_view_order_url()); ?>" title="<?php echo esc_html(_x('#', 'hash before order number', 'woocommerce') . $order->get_order_number()); ?>">
    
                                  <?php if (isset($image)) { ?>
                                                            <img src="<?php echo $image[0] ?>" />
                                                        <?php } ?>
    
                                </a>
                            </div>
                            <div class="content_product_home">
                                <a href="<?php echo esc_url($order->get_view_order_url()); ?>" title="<?php echo esc_html(_x('#', 'hash before order number', 'woocommerce') . $order->get_order_number()); ?>">
                                    <h4> Zamówienie
                                        <?php echo esc_html(_x('#', 'hash before order number', 'woocommerce') . $order->get_order_number()); ?>
                                    </h4>
                                </a>
    
                                <p>
                                    <?php echo $order->get_formatted_order_total() ?><span class="per_month">including tax</span></p>
    
                            </div>
                            <div class="text-center">
                                <a href="<?php echo esc_url($order->get_view_order_url()); ?>" class="btn btn-more" title="Details">Details</a>
                            </div>
                        </div>
                    </div>
                </div>
            <?php } ?>
    

    【讨论】:

    • 完美运行!谢谢!大起大落!如果有人需要全尺寸图片,请使用:``` $image = wp_get_attachment_image_src(get_post_thumbnail_id($product_id), 'full'); ```
    猜你喜欢
    • 2016-09-13
    • 1970-01-01
    • 2018-02-22
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-27
    • 1970-01-01
    相关资源
    最近更新 更多