Gra*_*cie 5 php wordpress orders woocommerce hook-woocommerce
我希望在客户方的订单历史记录中显示最后的订单备注,目前只能通过 Woocommerce 中的管理员查看。
这样他们就可以在订单设置完成后查看我们添加的跟踪号码。
https://example.com/my-account/view-order/135/
Run Code Online (Sandbox Code Playgroud)
我们首先通过 Woocommerce API 将订单设置为“完成”,然后添加带有跟踪链接的订单备注,从而添加客户备注。所以跟踪参考将始终是最后一项。
如何在客户订单历史记录中显示最后的订单备注?似乎不存在用于在客户端显示订单备注的插件。
理想结果:
以下内容将显示我的帐户查看订单页面的最后一个管理订单注释:
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;
}
Run Code Online (Sandbox Code Playgroud)
代码位于活动子主题(或活动主题)的 function.php 文件中。经过测试并有效。
| 归档时间: |
|
| 查看次数: |
3776 次 |
| 最近记录: |