在客户订单历史记录中显示最后一个 WooCommerce 管理员订单备注

Display last WooCommerce admin order note in customers order history

我希望显示 last 订单备注,目前只能通过 Woocommerce 中的管理员在他们的订单中查看历史。

这样他们就可以查看我们在中添加的追踪号码订单设置完成后。

https://example.com/my-account/view-order/135/

我们通过首先通过 Woocommerce API 将订单设置为完成来添加客户备注,然后添加带有跟踪的订单备注 link。因此跟踪参考将始终是最后一项。

如何在客户订单历史记录中显示最后的订单备注?似乎不存在用于在客户端显示订单备注的插件。

理想结果:

以下将在我的帐户查看订单页面中显示最后的管理员订单备注:

add_filter( 'woocommerce_get_order_item_totals', 'account_view_order_last_order_note', 10, 3 );
function account_view_order_last_order_note( $total_rows, $order, $tax_display ){
    // For "completed" orders on my account view order pages
    if( $order->has_status('completed')  && is_wc_endpoint_url( 'view-order' ) ){

        // Get last order note
        $latest_notes = wc_get_order_notes( array(
            'order_id' => $order->get_id(),
            'limit'    => 1,
            'orderby'  => 'date_created_gmt',
        ) );

        $latest_note = current( $latest_notes );

        if ( isset( $latest_note->content ) ) {
            // Add a new row for tracking
            $total_rows['order_tracking'] = array(
                'label' => __('Tracking:','woocommerce'),
                'value' => $latest_note->content
            );
        }
    }

    return $total_rows;
}

代码进入您的活动子主题(或活动主题)的 function.php 文件。已测试并有效。