php - 在 WooCommerce 我的账户订单列表中显示产品缩略图

标签 php wordpress woocommerce thumbnails orders

我正在尝试在 WooCommerce 我的帐户 > 订单列表中显示产品缩略图,在订单号旁边。

下面是订单截图 enter image description here

我必须使用什么钩子(Hook)来显示图像?

我试过了 Add the product image to Woocommerce my account order view答案代码,但它会在单 View 订单上显示图像。

最佳答案

已更新

您可以使用以下方法在 WooCommerce 我的帐户 > 订单列表中添加产品缩略图,在订单号旁边:

add_action( 'woocommerce_my_account_my_orders_column_order-number', 'my_account_orders_product_thumbnails', 20, 1 );
function my_account_orders_product_thumbnails( $order ) {
    echo '<a href="'. wc_get_endpoint_url('view-order') . $order->get_id()  . '/' . '">' . '#' . $order->get_order_number() . '</a>';

    // Loop through order items
    foreach( $order->get_items() as $item ) {
        $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 ) {
            echo '&nbsp;' . $thumbnail;
        }
    }
}

或者您可以在订单号后添加一个包含产品缩略图的新列,例如:

add_filter( 'woocommerce_my_account_my_orders_columns', 'filter_woocommerce_my_account_my_orders_columns', 10, 1 );
function filter_woocommerce_my_account_my_orders_columns( $columns ) {
    $new_column = array( 'order-number' => $columns['order-number']);
    unset($columns['order-number']);

    $new_column['order-thumbnails'] = '';

    return array_merge($new_column, $columns);
}


add_action( 'woocommerce_my_account_my_orders_column_order-thumbnails', 'filter_woocommerce_my_account_my_orders_column_order', 10, 1 );
function filter_woocommerce_my_account_my_orders_column_order( $order ) {
    // Loop through order items
    foreach( $order->get_items() as $item ) {
        $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 ) {
            echo $thumbnail . '&nbsp;' ;
        }
    }
}

代码进入事件子主题(或事件主题)的 functions.php 文件。经过测试并有效。

关于php - 在 WooCommerce 我的账户订单列表中显示产品缩略图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66151448/

相关文章:

php - Paypal 错误错误代码: 580022 paypal adaptive parallel payment

php - 警告:PDO::exec() 期望参数 1 为字符串

wordpress - 在 wp ninja 表单中显示自定义错误消息

php - CSS 选择器 - 有些东西不起作用

javascript - 通过 HTTP 发送 Google+ 混合服务器端流程一次性授权代码 安全吗?

php - 更改显示设置后,新的 Drupal 8 安装中出现错误 500(已分配的最大内存)

css - Google Chrome 中的屏幕滚动(溢出不起作用)

php - 检查订单是否包含 Woocommerce 3 中的任何退款

php - 如何向 WooCommerce 产品添加(第二个)自定义 sku 字段?

php - 在 Woocommerce 中获取可变产品的所有变体的总库存